AJAX请求返回200确定,但错误事件被触发,而不是成功

前端之家收集整理的这篇文章主要介绍了AJAX请求返回200确定,但错误事件被触发,而不是成功前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在我的网站上实现了一个AJAX请求,我从一个网页调用。它总是返回200 OK,但jQuery执行错误事件。我试过很多事情,但不能找出这个问题。我在下面添加我的代码

jQuery代码

var row = "1";
var json = "{'TwitterId':'" + row + "'}";
$.ajax({
    type: 'POST',url: 'Jqueryoperation.aspx?Operation=DeleteRow',contentType: 'application/json; charset=utf-8',data: json,dataType: 'json',cache: false,success: AjaxSucceeded,error: AjaxFailed
});
function AjaxSucceeded(result) {
    alert("hello");
    alert(result.d);
}
function AjaxFailed(result) {
    alert("hello1");
    alert(result.status + ' ' + result.statusText);
}

C#代码为JqueryOpeartion.aspx

protected void Page_Load(object sender,EventArgs e) {
    test();
}
private void test() {
    Response.Write("<script language='javascript'>alert('Record Deleted');</script>");
}

我需要成功删除后(“记录已删除”)字符串。我可以删除内容,但我没有收到此消息。这是正确的,或者我做错了什么。请建议正确的方法解决这个问题。

您的AJAX请求包含以下设置:
dataType: "json"

documentation说jQuery:

Evaluates the response as JSON and returns a JavaScript object. (…)
The JSON data is parsed in a strict manner; any malformed JSON is
rejected and a parse error is thrown.

这意味着如果服务器返回200 OK状态的无效JSON,则jQuery触发错误函数,并将textStatus参数设置为“parsererror”。

解决方案:确保服务器返回有效的JSON。值得注意的是,空响应也被认为是无效的JSON;您可以返回{}或null,例如验证为JSON。

你可以在jsonlint.com检查json是否有效

猜你在找的Ajax相关文章