Не вызывается callback у post в IE
Код:
<? Еще один важный факт! На серверах с вебсервером Апач в IE все работало, но у меня nginx, в нем не работает... Кто нибудь сталкивался с данной проблемой? В какую сторону копать? |
Может проблема в исходящих заголовках с сервера? Данные в JSON, или XML?
|
XML
|
А зачем Вы в URL передаете параметр «act», если используете метод «post». Для передачи данных на сервер методом пост в «XMLHttpRequest» есть метод «send», поэтому передаваемые параметры нужно записать отдельно:
$.post('test.php', {act: 'test'}, function (data){ $("#captcha_container").html(data); }); |
maxtor,
А заголовки ответа XML с сервера правильные? |
Octane, это просто упрощенный пример, реальный код другой, этот набросал для наглядности, ни этот, ни так как вы сказали, не работает.
Андрей Параничев, какие должны быть? |
maxtor,
Как минимум: Content-Type: text/xml |
Андрей Параничев, поставил
header("Content-Type: text/xml");Везде, даже в FF перестало работать... |
Вот скриптик: http://katushka.net/test.php
посмотрите, что не так? |
У вас ответ с сервера - это же страница? Непонятно. Должен быть либо XML, либо JSON.
|
Андрей Параничев, ну я так понимаю, нужно ставить: header("Content-Type: text/xml"); ? Но тогда ни в одном браузере не работает...почему?
И почему на одних серверах скрипт написанный в первом сообщении работает, а на некоторых нет? |
Какие данные возвращает страница, когда её запрашивают с переменной act=test?
|
Андрей Параничев, как я уже и писал. в IE ничего не возвращает
|
maxtor как-то странно вы передаете данные через запрос, а тем более получаете.
$.post('test.php', {act: "test"}, function(result){ $("#captcha_container").empty(); $("#captcha_container").append(result); } попробуйте так. |
Viper, что странного? И какая разница каким образом получаю данные, коллбэк в обще не вызывается, хоть alert(1) в function(result) {} засунуть...
|
Callback функция срабатывает, если данные с сервера успешно пришли. Для действий в случае возникновения ошибки в jQuery предусмотрены специальные методы.
|
Viper, без результатно...
Кто нибудь скажет, в чем косяк то? |
$.post('test.php', {act: 'test'}, function (data){ $("#captcha_container").html(data); }, 'html'); ? Косяк в том, что у вас с сервера приходит эта же страница, в качестве ответа. А не какой-нибудь xml, или JSON. |
Та же проблема
Никакие заголовки и формат возращаемых данных тут ни причем.
Тоже замечу, что на сервере Apach в IE все работает прекрасно. У меня возникает такая же проблема, при этом в строке статуса появляется ошибка JS "невозможно создание объекта сервером программирования объектов", но сообщения никакого не выскакивает. Это ошибка возникает из-за параметров безопасности IE. Необходимо разрешить выполнение элементов ActiveX, тогда все заработает.Но это, конечно, не решение проблемы. Maxtor, если найдешь решение, напиши в qip - 440-518-081 |
М.б. не в тему, но когда xml шлется в iframe в IE6-7, то IE его пытается разобрать самостоятельно своими стилями (хотя IE об этом никто не просит), а не передать скрипту по факту. Поэтому в XML надо прописать путь к файлу со стилями и сделать сам пустой файл стилей (хотя в самом файле желательно написать хотя бы строчку с комментарием).
Библиотеками стараюсь не пользоваться, поэтому в этом причина или нет - не знаю. |
Snipe, увы, не помогло :(
Заметил, что сервер отдает ошибку: 411 Length Required |
Перепробовал все бразуеры и серверы (Апач, nginx, лайти), проблема только в одном случае - nginx+IE.
Но вот как это дело заставить работать, вобще не представляю... |
В конфиге nginx:
charset utf-8; и всё заработало! |
ie как всегда "радует", была такаяже проблема с Apache Tomcat.
заменил заголовок Content-Type: text/html;charset=Cp1251 на Content-Type: text/html все заработало |
:) проблему решил
там где вызываете пост нада поставить: $.ajaxSetup({ scriptCharset: "utf-8" , contentType: "application/txt; charset=utf-8" }); ну а в файлике который вызывается header("Content-type: text/html; charset=utf-8"); вот )) если че не выходит, mp3vkontakte@ukr.net помогу. ps. А кстати, если ищете песенки, милости проси на http://mp3vkontakte.org.ua :cool: --------- ![]() |
Часовой пояс GMT +3, время: 09:04. |