200 OK 回應在Ajax 中觸發錯誤事件:根本原因和解決方案
當Ajax 請求回傳200 OK 回應時,jQuery 的回應預設行為是執行成功事件。然而,在某些情況下,可能會觸發錯誤事件。這種差異是由於預期響應與實際響應之間不匹配所造成的。
無效 JSON 回應的情況
在提供的範例中,jQuery 程式碼指定了一個 dataType “json”。這會觸發 jQuery 期待來自伺服器的有效 JSON 回應。但是,C# 程式碼傳回帶有 200 OK 狀態代碼的 HTML。
由於回應不符合預期的 JSON 格式,jQuery 將其解釋為錯誤並觸發錯誤事件。若要解決此問題,建議從 jQuery 程式碼中刪除 dataType 參數。這將指示 jQuery 將回應視為原始資料字串。
傳回 JavaScript 回應
另一個解決方案是修改伺服器端程式碼以傳回有效的JavaScript 回應。這可以透過將 Content-Type 標頭設定為“application/javascript”,然後嵌入所需的 JavaScript 程式碼(例如“alert('Record Deleted');”)作為回應來實現。
返回 JSON 回應
為了獲得更大的靈活性,通常最好返回 JSON 回應並處理解析和顯示成功回呼。為此,伺服器端程式碼應該:
在jQuery在程式碼中,可以修改成功回呼來解析JSON 回應並相應地顯示訊息。
以上是為什麼 200 OK Ajax 回應有時會觸發錯誤事件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!