【发布时间】:2015-09-11 08:47:30
【问题描述】:
whats hapenning 是我的 ajax 请求随机失败,我不知道为什么。
我只在 chrome 中进行了测试,当错误回调被调用时,控制器成功返回,所以我认为问题不在服务器端。但我不确定。 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 请求中检测到这个问题。
更新:
我在浏览器中检测到请求被取消。 它成功到达服务器并在代码执行期间被取消。它没有在特定行中取消,因为我评论了这些行以查找导致问题的行,但是无论代码行如何,它都被取消了。 然后我开始考虑超时并添加了超时。前 3 秒比 10 秒。但问题仍然存在。这是请求状态:
【问题讨论】:
-
尝试在ajax中加个错误看看有没有输出
-
另外,请尝试检查您的服务器日志,肯定会出现某种错误或至少访问日志以确保您在服务器端真正通过
-
嗨德尔,错误回调不会改变结果,我仍然收到错误。 Zathrus 我没有在服务器日志中看到任何内容。但是我做了一个新的发现,Ajax 请求被取消了。我会更新线程
-
向我们展示控制器中的代码。它是 Web API 控制器吗?您是否在 Sitefinity 中为其定义了自定义路由?
标签: jquery ajax sitefinity