首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

JavaScript 如何正確接收 Java 後端返回的 "success" 並彈出提示

     編輯:程式設計疑難解答

典型錯誤代碼

$.get(url, function(data) {
    if (data == "success") {  // 直接比較字符串
        alert("刪除成功!");
        location.reload();
    }
});

後端 out.write("success") 但前端判斷失效,或報錯不進入回調。

常見坑位排查清單

  1. 響應狀態碼非 200:$.get 只有 HTTP 200 才觸發 success 回調。後端拋異常導致 500 時,需用 .fail() 捕獲。
  2. 返回內容含空白字符:"success\n" 或 " success" 導致 == 失敗。建議 data.trim() == "success" 或後端返回 JSON {code: 0, msg: "success"}。
  3. 編碼不一致:後端 response.setCharacterEncoding("UTF-8"),前端 $.ajax({dataType: "text"}) 顯式指定。
  4. 調試首選:在回調第一行 console.log("原始返回:", JSON.stringify(data)) 確認真實內容。

最佳實踐:統一 JSON 協議

// 後端
response.setContentType("application/json;charset=UTF-8");
response.getWriter().write("{\"code\":0,\"msg\":\"刪除成功\"}");

// 前端
$.get(url, function(res) {
    if (res.code === 0) {
        alert(res.msg);
        location.reload();
    } else {
        alert("失敗:" + res.msg);
    }
}, "json").fail(function(xhr) {
    alert("請求異常:" + xhr.status);
});

總結

不要裸傳字符串,定義統一的 {code, msg, data} 協議,前端指定 dataType: "json",後端設置正確 Content-Type,即可避開 90% 的交互坑。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved