Ajax 随机请求失败
Ajax Request Randomly Fails
奇怪的是我的ajax请求随机失败,我不知道为什么。
我只在 chrome 中进行了测试,当错误回调成功调用控制器时 returns 所以我认为问题不在服务器 side.but 我'我不确定。 chrome 中的 responseText 错误是空白的,所以我没有任何提示可以解决问题。
这是我的 Ajax 电话我做错了什么,我很无能?
$.ajax({
type: "GET",
url: url,
data: { postalCode: postalCode },
dataType: "json",
success: function (response) {
if (isPostBack != 'True') {
switch (response["Code"]) {
case "-1":
alert('msg 1.');
break;
case "0":
alert('msg 2.');
break;
case "1":
alert('msg 3.');
break;
case "2":
alert('msg 4.');
break;
default:
alert('unexpected value.');
}
}
}
});
如果不是,最可能的原因是什么?
我正在为 Sitefinity 开发 Asp.NET MVC,我只在这个 ajax 请求中检测到这个问题。
更新:
我在浏览器中检测到请求正在被取消。
它成功到达服务器并在代码执行期间被取消。它没有在特定行中被取消,因为我注释了这些行以找出引起麻烦的行,但是无论代码行如何,它都被取消了。
然后我就开始考虑timeout,加了一个timeout。前 3 秒比 10 秒。但问题仍然存在。这是请求状态:
建议稍作修改:
$.getJSON(url, {"postalCode": postalCode})
.success(function (response) {
if (isPostBack != 'True') {
switch (response.Code) {
case "-1":
alert('msg 1.');
break;
case "0":
alert('msg 2.');
break;
case "1":
alert('msg 3.');
break;
case "2":
alert('msg 4.');
break;
default:
alert('unexpected value.');
}
}
});
问题
我通过提交按钮发出了 ajax 请求,该按钮取消了一些请求。
我通过
解决
- 隐藏提交按钮
- 创建一个执行 ajax 调用的按钮 type=button
- 成功回调后,我单击隐藏按钮提交表单值
$("#btnsubmit").click();
之后我仍然遇到问题,第一个请求总是被取消。
问题是超时。当我将超时值增加到 20 秒时,它不再被取消。但让我想到了另一个问题。
为什么第一个 ajax 请求需要 20 秒?
那将是另一场冒险..
奇怪的是我的ajax请求随机失败,我不知道为什么。
我只在 chrome 中进行了测试,当错误回调成功调用控制器时 returns 所以我认为问题不在服务器 side.but 我'我不确定。 chrome 中的 responseText 错误是空白的,所以我没有任何提示可以解决问题。
这是我的 Ajax 电话我做错了什么,我很无能?
$.ajax({
type: "GET",
url: url,
data: { postalCode: postalCode },
dataType: "json",
success: function (response) {
if (isPostBack != 'True') {
switch (response["Code"]) {
case "-1":
alert('msg 1.');
break;
case "0":
alert('msg 2.');
break;
case "1":
alert('msg 3.');
break;
case "2":
alert('msg 4.');
break;
default:
alert('unexpected value.');
}
}
}
});
如果不是,最可能的原因是什么? 我正在为 Sitefinity 开发 Asp.NET MVC,我只在这个 ajax 请求中检测到这个问题。
更新:
我在浏览器中检测到请求正在被取消。 它成功到达服务器并在代码执行期间被取消。它没有在特定行中被取消,因为我注释了这些行以找出引起麻烦的行,但是无论代码行如何,它都被取消了。 然后我就开始考虑timeout,加了一个timeout。前 3 秒比 10 秒。但问题仍然存在。这是请求状态:
建议稍作修改:
$.getJSON(url, {"postalCode": postalCode})
.success(function (response) {
if (isPostBack != 'True') {
switch (response.Code) {
case "-1":
alert('msg 1.');
break;
case "0":
alert('msg 2.');
break;
case "1":
alert('msg 3.');
break;
case "2":
alert('msg 4.');
break;
default:
alert('unexpected value.');
}
}
});
问题
我通过提交按钮发出了 ajax 请求,该按钮取消了一些请求。
我通过
解决- 隐藏提交按钮
- 创建一个执行 ajax 调用的按钮 type=button
- 成功回调后,我单击隐藏按钮提交表单值 $("#btnsubmit").click();
之后我仍然遇到问题,第一个请求总是被取消。 问题是超时。当我将超时值增加到 20 秒时,它不再被取消。但让我想到了另一个问题。
为什么第一个 ajax 请求需要 20 秒?
那将是另一场冒险..