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

jQuery load() 回調函數不執行?常見陷阱與調試指南

     編輯:程式設計綜合問答

問題現象

使用 jQuery `load()` 方法加載後端返回的頁面片段,預期在加載完成後執行回調函數 `alert(1)`,但發現:

  • 後端返回有數據時,回調正常執行
  • 後端返回「無記錄」頁面時,回調不執行,控制台報錯:Uncaught SyntaxError: Unexpected token ;

核心原因分析

錯誤堆疊指向 `jquery-1.10.2.min.js:4` 的 `globalEval` 和 `domManip`,這表明jQuery 嘗試將返回內容作為 JavaScript 執行。這通常發生在:

  1. 返回內容包含 ``)
  2. 代碼中存在語法錯誤:原代碼 `$("#divid").load("後台方法",function(){alert(1);});` 使用了**中文全角逗號** `,` 而非英文半角逗號 `,`

關鍵修復:逗號必須是英文半角

// ❌ 錯誤:中文全角逗號
$("#divid").load("後台方法",function(){alert(1);});

// ✅ 正確:英文半角逗號
$("#divid").load("後台方法", function(){alert(1);});

完整調試排查清單

1. 檢查後端返回內容類型

在瀏覽器 Network 面板查看 Response:

  • 應為純 HTML 片段:`
    無記錄
    `
  • 不應為完整頁面或包含 `
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved