JQuery POST AJAX => Нет заголовка ответа - PullRequest
1 голос
/ 09 мая 2011

У меня проблема с вызовом jQuery AJAX.Иногда это работает, а иногда я не получаю никакого ответа от сервера.Переданные параметры верны, но никакая функция обратного вызова не будет вызвана, кроме beforeSend.Я даже не получаю HTTP-заголовок ответа с сервера.Заголовок запроса кажется правильным и выглядит точно так же, как один из правильных вызовов.Есть предложения?

[ОБНОВЛЕНИЕ] Хорошо, вот фрагмент кода и заголовок запроса, но я не думаю, что это проблема реализации ...мы удалили значения cookie в заголовке запроса

jQuery.ajax
        (
            {
                type: 'POST',
                url: 'index.php?eID=doSomeStuff',
                contentType: "application/x-www-form-urlencoded; charset=UTF-8",
                dataType: 'json',
                data:
                {
                    obj_php_config: obj_php_config,
                    obj_php_search: obj_php_search,
                    selectedBox: selectedBox
                },
                error:
                    function (obj, textStatus, errorThrown)
                    {
                        alert("status=" + textStatus + ",error=" + errorThrown);
                    },
                success:
                    function (data, textStatus)
                    {
                         doSomeStuffWithData(data);
                       }

            }
        );
Host              myDomain.loc
User-Agent        Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
Accept            application/json, text/javascript, */*
Accept-Language   en-us,en;q=0.5
Accept-Encoding   gzip, deflate
Accept-Charset    ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive        115
Connection        keep-alive
Content-Type      application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With  XMLHttpRequest
Referer           http://myDomain.loc/aSite.html?page=1
Content-Length    567
Cookie            --redacted by user--

Ответы [ 4 ]

6 голосов
/ 17 августа 2012

Я понимаю, что этот пост довольно старый, но хотел опубликовать пост, чтобы помочь другим. Я только что решил похожую (если не ту же) проблему.

Проблема в моем случае заключалась в том, что то же событие click, которое вызывало запись AJAX (через привязку события jquery), перенаправляло страницу с помощью href. Поэтому сообщение на самом деле не провалилось, но было прервано, поэтому я полагаю, что информация об ответе отсутствует.

Вкратце - убедитесь, что перенаправление нигде не запускается.

В зависимости от времени перенаправления страницы, время от времени вызов может работать правильно. Я думаю?

В любом случае, надеюсь, это кому-нибудь поможет.

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

Просто добавлю, что проблема, с которой я столкнулся, заключалась в том, что мой URL был перенаправлен или был отменен одним из моих расширений chrome, Adblock ... URL соответствует * / post_save_advert /

Сработало после отключения расширения chrome для конкретного сайта. Затем я также переименовал его из save_advert в другой URL, чтобы он больше не блокировался.

0 голосов
/ 09 мая 2011

убедитесь, что ваш сервер отвечает следующим образом:

header('Content-type: application/json');
echo json_encode(array("test" => "test"));
exit;

Второе предположение, касающееся ошибки POST, возможно, недействительные ключи obj в ваших данных obj, добавьте кавычки:

{
"obj_php_config": obj_php_config,
"obj_php_search": obj_php_search,
selectedBox: selectedBox
},
0 голосов
/ 09 мая 2011

Обновление

Вы знаете - у меня на самом деле была очень похожая проблема, если подумать об этом ... и я до сих пор не знаю точно, почему ..

Я заменил вызов $ .ajax на

$.post( 'url being called',
       { key:value},
       function (response) {
           // handle success/error response
       }
);

Я действительно не знаю, как это хоть что-то меняет.


Выдает ли firebug какой-либо статус ошибки?Вкладка информации NET чрезвычайно полезна при работе с Ajax.

Некоторый код был бы хорош

РЕДАКТИРОВАТЬ: Если вы делаете какие-либо междоменные посты, вам нужно использовать json с padding

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