Запросы jQuery Ajax отменяются без отправки - PullRequest
82 голосов
/ 28 сентября 2011

Я пытаюсь подключить скрипт к приложению Microsoft World-Telescope.Последний прослушивает порт 5050 для команд.Он работает на той же машине, что и браузер (Chrome сейчас, но, насколько я могу судить, поведение аналогично Firefox 7 и IE 9).

Я отправляю «Access-Control-Allow-Origin: * "заголовок с исходным html-файлом, чтобы попытаться устранить ограничения XSS как мою проблему.

Мой код для доступа к WWT выглядит следующим образом:

$.ajax({
    type: 'POST',
    url: url,
    data: data,
    crossDomain: true,
    success: success,
    dataType: dataType
});

url в этом случаеis "http://127.0.0.1:5050/layerApi.aspx?cmd=new&..." (очевидно ... здесь сокращенно для некоторых дополнительных параметров).

Глядя на диагностику сети в Chrome, я вижу это:

Request URL:http://127.0.0.1:5050/layerApi.aspx?cmd=new&...
Request Headersview source
Accept:application/xml, text/xml, */*; q=0.01
Content-Type:application/x-www-form-urlencoded
Origin:http://gwheeler4
Referer:http://gwheeler4/conceptconnect.html
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.186 Safari/535.1

Запросвыходя - я вижу, что WWT создает новый слой. Однако я не получаю обратный вызов. Если я добавляю обратный вызов ошибки, который вызывается, но свойство error в объекте jqXHR просто «ошибка», а состояние равно 0. ЕслиЯ смотрю на сетевой запрос в Chrome и вижу «(отменено)» как статус, а ответ отсутствует.

Если я возьму этот же URL-адрес и вставлю его в новую вкладку браузера, я увижу, что ответожидаемый XML.

Конечно, отличаетсяЭто значит, что это ПОЛУЧЕНИЕ, а не ПОЧТА, но я попробовал это в своем сценарии, и это не имеет значения.

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

Ответы [ 17 ]

0 голосов
/ 19 января 2018

Для случая Dropzone.js. В моем случае это было вызвано тем, что timeout параметр значение было слишком низким по умолчанию. Так что увеличьте его своими потребностями.

{
// other dropzone options
timeout: 60000 * 10, // 10 minutes
...
}
0 голосов
/ 04 ноября 2015

В моем случае это был отсутствующий косой черты в URL.Добавление косой черты решило мою проблему.

0 голосов
/ 17 мая 2014

У меня была эта проблема с определенной сетью 3G.
Это всегда будет сбой при запросах DELETE с net_error = -101 в chrome: //net-internals/#events.

Другие сети работали просто отличнопоэтому я предполагаю, что был неисправный прокси-сервер или что-то в этом роде.

0 голосов
/ 30 апреля 2014

У меня был отменен в Firefox .Некоторые ajax-вызовы прекрасно работали для меня, но это не помогло сотруднику, который действительно должен был его использовать.

Когда я проверил это с помощью трюков Chrome, упомянутых выше, я не нашел ничего подозрительного.При проверке в firebug он показывал анимацию «загрузки» после двух недопустимых вызовов и вкладку без результатов.

Решение было мега-простым: зайдите в историю, найдите сайт,Правый клик -> забыть веб-сайт.
Забудьте, а не удаляйте.

После этого проблем больше нет.Я думаю, это как-то связано с .htaccess.

0 голосов
/ 06 марта 2013

В моем случае, переписывание модов в Apache совпало с URL и перенаправило запрос на https.

Посмотрите на запрос в chrome: // net-internals / # events.

Он покажет внутренний журнал запроса.Проверьте на перенаправления.

0 голосов
/ 22 августа 2013

У меня была эта ошибка более жутким способом: вкладка сети и события chrome: // net-internals / # не отображали запрос после завершения js.При приостановке js в callcack с ошибкой на вкладке сети отображался запрос как (отмененный).Он постоянно вызывался для одного (всегда одинакового) из нескольких похожих запросов на веб-странице.После перезапуска Chrome ошибка больше не возникала!

0 голосов
/ 18 марта 2013

У меня была такая же проблема, но в моем случае это была проблема с cookie. Ребята, работающие на сервере, изменили путь к cookie-файлу JSESSIONID, который устанавливается при входе в наше приложение, и у меня на компьютере был старый cookie с таким именем, но со старым путем. Поэтому, когда я попытался войти в систему, браузер (Chrome) отправил два файла cookie с именем JSESSIONID с разными значениями на сервер - что, по понятным причинам, запутало его - поэтому он отменил запрос. Удаление куки с моего компьютера исправило это.

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