Ajax запрос вызова два или более раз по медленному inte rnet in jquery - PullRequest
0 голосов
/ 03 мая 2020

Я столкнулся с неожиданными проблемами при вызове ajax запроса на отправку данных по медленному inte rnet. Всякий раз, когда inte rnet работает медленно и я отправляю данные формы, появляется всплывающее окно браузера, чтобы убить страницу или ждать. Если я нажму кнопку ожидания, чтобы завершить процесс, данные формы будут отправлены 2 или более раз. Кто-нибудь здесь, чтобы вести? Я использую технологии jquery и asp. net и вызываю веб-методы в ajax. Пример кода:

$.ajax({
    url: '../WebServices/AddVoucher.asmx/AddJournalInfo',
    async: false,
    method: 'POST',
    contentType: 'application/json;charset=utf-8',
    data: '{journalMain:' + JSON.stringify(JournalMain) + ', journalEntry1:' + JSON.stringify(journalEntriesTable) + ', journalAttachmet:' + JSON.stringify(journalAttachmets) + '}',
    success: function (data) {
    }
});

1 Ответ

0 голосов
/ 03 мая 2020

Kill Page Всплывающее окно появляется, когда вы блокируете нить браузера на более длительный период.

Я вижу, вы используете $.ajax с async: false.

Это не реально ajax он делает это синхронно, как вы сказали async: false

Ajax запросы должны быть асинхронными c по своей природе. Так как вы делаете async: false и inte rnet соединение медленное; Он останавливает браузер на более длительный срок.

Таким образом, я скажу удалить async: false из вашего кода или изменить его на async: true

Я считаю, что это должно решить вашу проблему.

Ура!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...