亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么我的 ajax 調用使頁面在第二次調用時沒有響應?

為什么我的 ajax 調用使頁面在第二次調用時沒有響應?

慕婉清6462132 2022-12-22 15:48:56
我有一個 ajax 調用如下。它在第一次通話時工作正常。但是當我第二次調用它時,它使頁面沒有響應。我不知道為什么。這存在于文檔就緒調用中。我的后端在第二次嘗試中被調用,但它陷入了成功。我是這樣稱呼它的。$('#upload-form').submit(function (event) {        event.preventDefault();        uploadPDF();    });    這是我進行ajax調用的方法。function uploadPDF() {        var form = $('#upload-form')[0];        var data = new FormData(form);            /* call to upload api */        $.ajax({            type: "POST",            enctype: 'multipart/form-data',            url: "/uploadPdf",            data: data,            processData: false,            contentType: false,            cache: false,            async: false,            timeout: 600000,            success: function (data) {                $('#upload-form').trigger("reset");                $('#courses-container').show().siblings().hide();                var toastHTML = '<span>' + data.success + '</span>';                M.toast({                    html: toastHTML,                    classes: 'teal lighten-1'                });            },            error: function (textStatus, errorThrown) {                $('#upload-form').trigger("reset");                var toastHTML = '<span>' + textStatus.responseJSON.error +                    '</span>';                M.toast({                    html: toastHTML,                    classes: 'red lighten-1'                });            }        });    }
查看完整描述

2 回答

?
慕沐林林

TA貢獻2016條經驗 獲得超9個贊

async: false使其成為同步請求。它會凍結瀏覽器,直到請求完成。此功能在現代瀏覽器中已棄用,不應在現代代碼中使用。

同步 XHR 請求通常會導致 Web 掛起。但是開發人員通常不會注意到這個問題,因為掛起只會在網絡狀況不佳或遠程服務器響應緩慢時出現。同步 XHR 現在處于棄用狀態。建議開發人員放棄同步 API,改用異步請求。


查看完整回答
反對 回復 2022-12-22
?
慕虎7371278

TA貢獻1802條經驗 獲得超4個贊

將此 ajax 請求設置為 Async true。無論第一個請求是否完成,它都將有助于并行執行您的請求。

可選 - 嘗試更改內容類型。

下面的代碼對我來說工作正常,請嘗試讓我知道,以防您的問題仍然無法解決。


function uploadPDF() {

    var form = $('#upload-form')[0];

    var data = new FormData(form);


    /* call to upload api */

    $.ajax({

        type: "POST",

        enctype: 'multipart/form-data',

        url: "/uploadPdf",

        data: data,

        processData: false,

        cache: false,

        async: true,

        timeout: 600000,

        success: function (data) {

            $('#upload-form').trigger("reset");

            $('#courses-container').show().siblings().hide();

            var toastHTML = '<span>' + data.success + '</span>';

            M.toast({

                html: toastHTML,

                classes: 'teal lighten-1'

            });

        },

        error: function (textStatus, errorThrown) {

            $('#upload-form').trigger("reset");

            var toastHTML = '<span>' + textStatus.responseJSON.error +

                '</span>';

            M.toast({

                html: toastHTML,

                classes: 'red lighten-1'

            });

        }

    });

}

您的其余代碼看起來不錯。


查看完整回答
反對 回復 2022-12-22
  • 2 回答
  • 0 關注
  • 117 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號