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

ASP.NET UpdatePanel 與 jQuery getJSON 非同步請求共存的除錯策略

     編輯:程式設計綜合問答

潛在衝突點

  • UpdatePanel 部分回傳會重新初始化頁面 ScriptManager,可能導致 jQuery 事件綁定遺失。
  • $.getJSON 請求若為跨域,瀏覽器會攔截;ashx 需正確設定 Access-Control-Allow-Origin。
  • 同一頁面多個非同步請求競爭,可能造成回傳順序錯亂。

除錯步驟

  1. 使用 Fiddler / Chrome DevTools Network 捕獲 PrizeHandler.ashx 實際回傳內容與 HTTP 狀態碼。
  2. 在 ashx 中加入 context.Response.Headers["Access-Control-Allow-Origin"] = "*"; 並回傳合法 JSON(Content-Type: application/json)。
  3. 在 JS 中加入錯誤處理:
    
    $.getJSON("PrizeHandler.ashx")
      .done(function(res) { console.log("OK", res); })
      .fail(function(jqXHR, textStatus, err) { console.error("AJAX 失敗", textStatus, err); });
    

建議架構

若專案為新開發,建議改用 ASP.NET Core + fetch/axios,避免 WebForms 與 jQuery 混用的維護負擔。

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