1

私は MVC 4 を使用しており、送信フォームで pdf ファイルを取得しています。このフォームでは、コントローラーからデータを取得するために ajax get request を使用しています。問題は、フォームを送信した後に PDF ファイルを取得すると、iPhone で PDF が同じページでインラインで開かれ、プログラムのページに戻った後、すべてのページで ajax リクエストが機能しなくなることです (彼らはリクエストを完了する前にすべてキャンセルされます)。私はいくつかの解決策を探していましたが、何も役に立ちませんでした。私が試した解決策は次のとおりです。cache: false - ajax リクエスト内。時間パラメーターが変更されるたびに時間パラメーターを URL に追加します。私はこの問題について読んでいますが、ajax リクエストのステータスが 0 を返す場合、それは ajax リクエストが完了する前にキャンセルされていることを意味することがわかった唯一のことです。これ' 他のすべての場合のようにダウンロードするのではなく、PDFファイルをインラインで開いているため、iPhoneでのみ発生しています。この問題を解決するのを手伝ってください。私は長い間そうしようとしてきました。

これは私が使用している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 に答える