首页 >web前端 >js教程 >为什么我的 jQuery Ajax 请求返回 200 OK 但触发错误事件?

为什么我的 jQuery Ajax 请求返回 200 OK 但触发错误事件?

Linda Hamilton
Linda Hamilton原创
2024-11-27 18:11:13779浏览

Why Does My jQuery Ajax Request Return 200 OK But Trigger the Error Event?

jQuery Ajax 请求返回成功(200 OK)但触发错误事件

您的 jQuery Ajax 请求始终返回 200 OK,表示成功回复。然而,jQuery 仍然执行错误事件而不是成功事件。

问题:

使用 jQuery 的 $.ajax 时,如果 dataType 参数设置为“json”(如您的代码中所示),它期望服务器的响应是有效的 JSON。但是,在您的情况下,服务器响应是 HTML,这不是有效的 JSON。这会导致 jQuery 抛出解析错误并触发错误事件。

解决方案 1:删除 dataType: 'json'

一种解决方案是从您的 Ajax 请求。这将允许 jQuery 将响应解释为纯文本,其中包括您从服务器发送的 HTML。

$.ajax({
    type: 'POST',
    url: 'Jqueryoperation.aspx?Operation=DeleteRow',
    contentType: 'application/json; charset=utf-8',
    data: json,
    cache: false,
    success: AjaxSucceeded,
    error: AjaxFailed
});

解决方案 2:从服务器返回 JSON

或者,您可以修改服务器端 C# 代码以返回 JSON 而不是 HTML。这将确保 jQuery 能够正确解析响应并执行成功事件。

private void test() {
    Response.ContentType = "application/json";
    Response.Write("{ \"message\": \"Record Deleted\" }");
}

通过此修改,jQuery 将收到有效的 JSON 响应并按预期触发成功事件。

以上是为什么我的 jQuery Ajax 请求返回 200 OK 但触发错误事件?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn