IE8 + jQuery + $.ajax
Доброго времени суток, господа. 3й день воюю со связкой, указанной в теме. Суть такова: осел не инициирует аякс запрос и "радует" ошибкой:
"Объект не поддерживает это свойство или метод". Фишка в том что после ручного обновления страницы js отрабатывает отлично. Пытался подключать различные версии jQ - не помогло. Вот пример проблемного кода: <h1>IE Ajax Test</h1> <a href='javascript:void(0);' id='ajax'>do ajax</a><br/> <div id='res'></div> <script type='text/javascript'> $(document).ready(function(){ if($.browser.msie) alert("IE ver. " + $.browser.version); $('#ajax').click(function(){ doAjax(); }); }); function doAjax() { var post_data = "ajax=true"; $.ajax({ type: 'POST', data: post_data, url: '<?php echo $this->createUrl('test/ajax');?>', success: function(responce) { $("#res").append(responce + "<br/>"); } }); } </script> Искренне прошу помощи. Все предположения уже исчерпаны. Заранее благодарен. |
Цитата:
|
Попробовал код на локальном веб сервере - работает как швейцарские часы. Файл переименовывал, добавлял к ссылке рандомный аргумент. Безрезультатно, увы.
|
Цитата:
раз переименовывали файл, значит скорее всего дело не в кеше и раз локально работает, значит запрос скорее всего отправляется (и локально, и на сервере). Какие заголовки отдает браузер/сервер? попробуйте поэкспериментировать с политиками конфиденциальности. Я ж надеюсь ajax-запрос отправляется на тот же сервер? |
Ошибка возникает в файле jquery, 123я строка сжатой версии либы. Вот на этом коде спотыкается:
return new A.XMLHttpRequest Запрос отправляется и обрабатывается в рамках одного домена/сервера. Все в одной среде. Прослушал трафик во время клика по аякс элементу - запрос не был отослан. А вот заголовки сервера/браузера, полученные в другом браузере (домен специально скрыл, извините :) ) : Request URL:http://mydomain.com/test/ajax/0.10713744815438986 Request Method:POST Status Code:200 OK Request Headers Accept:*/* Content-Type:application/x-www-form-urlencoded Origin:http://mydomain.com Referer:http://mydomain.com/test/ie User-Agent:Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.125 Safari/533.4 X-Requested-With:XMLHttpRequest Form Data ajax:true Response Headers Cache-Control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection:keep-alive Content-Type:text/html Date:Sun, 08 Aug 2010 16:24:55 GMT Expires:Thu, 19 Nov 1981 08:52:00 GMT Pragma:no-cache Server:nginx/0.6.39 Transfer-Encoding:chunked X-Powered-By:PHP/5.2.6-1+lenny8 |
Троекратное "УРА"! ) Решилась проблема.
Проект, на котором возникали проблемы, использует Yii фреймворк и jquery скрипт подключался средствами данного фреймворка. Решил попробовать стандартно через тэг <script> и, о чудо, все заработало. Спасибо большое, x-yuri, за то что уделили внимание данной проблеме. Думаю, вопрос закрыт. |
Часовой пояс GMT +3, время: 00:33. |