如何防止在iphone上取消ajax请求?

时间:2012-12-04 09:21:36

标签: javascript ajax model-view-controller

我正在使用MVC 4,在提交表单上我得到了一个pdf文件。在这种形式中,我使用ajax get请求从控制器获取一些数据。问题是,当我在提交表单后获得pdf文件时,在iphone上pdf在同一页面上内联打开,然后在我回到我的程序页面后,我所有页面上的ajax请求都停止工作(它们所有都在他们完成他们的请求之前被取消)。我一直在寻找一些解决方案,但没有任何帮助。我尝试过的解决方案是; cache:false - 在ajax请求中。 向url添加每次time参数更改时的时间参数。 我一直在读这个问题,我发现如果ajax请求状态返回0,那就意味着ajax请求在完成之前就被取消了。 它只发生在iphone上,因为它打开内联的pdf文件,而不是像在其他任何地方一样下载它。 请帮我解决这个问题,我一直试着这么做了。

这是我正在使用的ajax代码:

$.ajax({
    type: 'GET',
    url: '/IncomeExpenses/UpdateInvoiceData?time=' + new Date().getTime(),
    data: str,
    cache: false,
    dataType: 'json',
    success: function (data) {
        //some code
    }
});

1 个答案:

答案 0 :(得分:0)

设置async: false将有助于解决此问题。这样,我们通过使AJAX请求与浏览器同步来强制浏览器等待响应返回。