1

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

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

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

1 回答 1

0

制作async: false将有助于克服这个问题。这样,我们通过使 AJAX 请求与浏览器同步来强制浏览器等待响应。

于 2020-10-22T04:59:55.160 回答