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

jQuery AJAX 與 Struts2 整合:解決返回數據解析報錯

     編輯:程式設計疑難解答

現象

Action 中已打印 List 大小,但前端 AJAX success 回調報錯,控制台顯示錯誤圖片。

排查步驟

  1. 檢查返回數據格式:在 success 中先 console.log(data) 或 alert(data) 查看原始響應。
  2. 修改 dataType:暫時改為 dataType: "text",確認是否為 JSON 解析失敗。
  3. Gson 序列化問題:若 Action 返回 List 直接寫入 response,需確保 Gson 配置正確(日期格式、null 處理)。
  4. 字段名匹配:JSON 鍵名需與前端期望一致(如 data.list vs list)。

常見修復

// 前端
$.ajax({
    dataType: "text", // 先用 text 拿到原始字符串
    success: function(raw) {
        console.log("Raw:", raw);
        var data = JSON.parse(raw); // 手動解析
        // ...
    }
});

// 後端 Struts2 Action
public String execute() {
    // ...
    String json = new Gson().build().toJson(list);
    response.setContentType("application/json;charset=UTF-8");
    response.getWriter().write(json);
    return null; // 已手動輸出
}
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved