首頁 > web前端 > js教程 > 儘管有 200 OK 回應,為什麼我的 jQuery Ajax 呼叫仍會觸發錯誤事件?

儘管有 200 OK 回應,為什麼我的 jQuery Ajax 呼叫仍會觸發錯誤事件?

Barbara Streisand
發布: 2024-11-23 04:08:30
原創
782 人瀏覽過

Why Does My jQuery Ajax Call Trigger an Error Event Despite a 200 OK Response?

使用jQuery 錯誤事件處理200 回應

發出Ajax 要求時,常會遇到伺服器回傳200 OK 狀態的情況代碼,表示請求成功,但是觸發了jQuery的error事件。這可能特別令人費解,因為請求似乎已成功完成。

要理解此行為,至關重要的是要認識到 jQuery 嘗試根據指定的 dataType 參數或 Content-Type 解釋回應正文伺服器發送的標頭。但是,如果此轉換失敗(例如,由於無效的 JSON 或 XML),jQuery 會觸發錯誤回呼。

考慮提供的 jQuery 程式碼:

dataType: "json"
登入後複製

使用此設置,jQuery 期望來自伺服器的有效 JSON 回應。但是,伺服器端的 C# 程式碼回傳的是 HTML 片段,而不是 JSON。這會導致 jQuery 轉換失敗,從而導致呼叫錯誤回調。

要解決此問題,您可以:

  • 刪除dataType 參數: 這將阻止jQuery 嘗試自動轉換,允許您根據狀態代碼來處理成功或失敗
  • 配置伺服器端程式碼以傳回有效的JSON:這涉及根據您的需求將 Content-Type 標頭修改為 application/javascript 或 application/json,並傳回格式良好的 JSON 回應。

或者,您可以考慮在成功回調中顯示成功訊息,而不是依賴伺服器端程式碼來提供Alert:

success: function (result) {
  alert("Record Deleted");
}
登入後複製

透過實作這些解決方案,您可以確保您的Ajax 請求正確處理200 OK 回應並提供預期的行為。

以上是儘管有 200 OK 回應,為什麼我的 jQuery Ajax 呼叫仍會觸發錯誤事件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板