Ajax请求随机失败

时间:2015-09-11 08:47:31

标签: jquery ajax sitefinity

什么是hapenning是我的ajax请求随机失败,我不知道为什么。

我一直只在chrome中测试,当调用错误回调时控制器返回成功,所以我认为问题不在服务器端。但我不确定。 chrome中的responseText错误是空白的,所以我没有提示进行故障排除。

这是我的阿贾克斯电话,我做错了什么,我是无能为力的?

$.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秒。但问题仍然存在。这是请求状态:

enter image description here

1 个答案:

答案 0 :(得分:1)

问题

我从提交按钮发出了ajax请求,取消了一些请求。

我通过

解决了这个问题
  • 隐藏提交按钮
  • 创建执行ajax调用的按钮类型=按钮
  • 成功回调我点击隐藏按钮提交表单值 $( “#btnSubmit按钮”)点击();

在此之后我仍然遇到问题,第一个请求总是被取消。 问题是超时。当我将超时值增加到20秒时,它会停止被取消。但引出了另一个问题。

为什么在第一个ajax请求中需要20秒?

那将是另一场冒险..