JQuery пост ответить с ReadyState: 0, статус: 0 - PullRequest
9 голосов
/ 25 июля 2011

все.Я использую JQuery версии 1.6.2.Я делаю вызов ajax, как это:

  var jqxhr = $j.post(myPHP, function() {
          alert("success");
        })
        .success(function() { alert("second success"); })
        .error(function(data) { alert(JSON.stringify(data)); })
        .complete(function() { alert("complete"); });

Сценарий, запустить и показать ошибку, чем, завершить.Некоторые люди могут подумать, что ... у myPHP есть какая-то проблема, но myPHP всегда показывает:

{"sayHi":"hihi"}

Итак, я обращаюсь к firebugs, чтобы проверить, есть ли у ссылки какая-либо проблема, когда я звонил ..:Он показывает мне POST-URL со статусом 200, что нормально.Кроме того, я могу видеть ответ через firebugs .... Но вопрос заключается в том .... почему jquery так у меня есть ошибка ...: И вот сообщение об ошибке:

{"readyState":0,"responseText":"","status":0,"statusText":"error"}

Ответы [ 4 ]

3 голосов
/ 19 апреля 2015

Если браузер переключает веб-страницу, когда запрос XHR все еще выполняется (пользователь щелкнул ссылку, кнопку назад,…), этот запрос XHR будет отменен именно с вашей ошибкой.

Взгляните на следующий пост в блоге, где подробно объясняется проблема: http://bartwullems.blogspot.de/2012/02/ajax-request-returns-status-0.html

3 голосов
/ 26 октября 2012

Для меня эта проблема была вызвана междоменной проблемой.Поэтому у меня был локальный html-файл (c:\test.html) и я пытался получить данные с сервера (localhost / servlet).При размещении html на сервере проблема исчезла.

1 голос
/ 25 июля 2011

Вы забыли сообщить jQuery, что сервер возвращает JSON:

   var jqxhr = $j.post(myPHP, function() {
           alert("success");
         }, "json") // here
        .success(function() { alert("second success"); })
        .error(function(data) { alert(JSON.stringify(data)); })
        .complete(function() { alert("complete"); });
0 голосов
/ 07 марта 2014

В моем случае это не было связано с кросс-доменом.Я не использовал e.PreventDefault ().Смотри здесь

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