使用 jQuery $.get、$.post 或 $.ajax 時,回調函數的 data 參數有時是物件,有時是字串,這取決於伺服器回應標頭與請求配置。
Content-Type: application/json(如 Express res.json())。$.ajax 中顯式設定 dataType: 'json'。滿足任一條件,jQuery 內部會用 JSON.parse 解析,data 直接變為 JS 物件,可直接讀取 data.code。
{code:'1', msg:'...'}(鍵名未加雙引號),JSON.parse 會拋錯,導致進入 error 回調。text/html 或 text/plain,jQuery 不會自動解析,需手動 JSON.parse(data)。JSON.parse,嚴格模式下對格式要求嚴格。$.ajax({
url: '/api',
dataType: 'json', // 強制指定
success: function(data) {
// data 已是物件
}
});
並確保後端輸出合法 JSON(鍵值雙引號、無尾隨逗號)。