Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.08.2010, 17:10
Новичок на форуме
Отправить личное сообщение для Sh0dan Посмотреть профиль Найти все сообщения от Sh0dan
 
Регистрация: 20.01.2010
Сообщений: 4

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>


Искренне прошу помощи. Все предположения уже исчерпаны. Заранее благодарен.
Ответить с цитированием
  #2 (permalink)  
Старый 07.08.2010, 04:21
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от Sh0dan
Фишка в том что после ручного обновления страницы js отрабатывает отлично
может кэш почистить? Это локально или на удаленном сервере так? А если файл переименовать (изменить url)?
Ответить с цитированием
  #3 (permalink)  
Старый 08.08.2010, 19:36
Новичок на форуме
Отправить личное сообщение для Sh0dan Посмотреть профиль Найти все сообщения от Sh0dan
 
Регистрация: 20.01.2010
Сообщений: 4

Попробовал код на локальном веб сервере - работает как швейцарские часы. Файл переименовывал, добавлял к ссылке рандомный аргумент. Безрезультатно, увы.
Ответить с цитированием
  #4 (permalink)  
Старый 08.08.2010, 20:05
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от Sh0dan
и "радует" ошибкой:
"Объект не поддерживает это свойство или метод"
в каком месте возникает эта ошибка?

раз переименовывали файл, значит скорее всего дело не в кеше

и раз локально работает, значит запрос скорее всего отправляется (и локально, и на сервере). Какие заголовки отдает браузер/сервер?

попробуйте поэкспериментировать с политиками конфиденциальности. Я ж надеюсь ajax-запрос отправляется на тот же сервер?
Ответить с цитированием
  #5 (permalink)  
Старый 08.08.2010, 20:27
Новичок на форуме
Отправить личное сообщение для Sh0dan Посмотреть профиль Найти все сообщения от Sh0dan
 
Регистрация: 20.01.2010
Сообщений: 4

Ошибка возникает в файле 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
Ответить с цитированием
  #6 (permalink)  
Старый 08.08.2010, 20:47
Новичок на форуме
Отправить личное сообщение для Sh0dan Посмотреть профиль Найти все сообщения от Sh0dan
 
Регистрация: 20.01.2010
Сообщений: 4

Троекратное "УРА"! ) Решилась проблема.
Проект, на котором возникали проблемы, использует Yii фреймворк и jquery скрипт подключался средствами данного фреймворка. Решил попробовать стандартно через тэг <script> и, о чудо, все заработало.
Спасибо большое, x-yuri, за то что уделили внимание данной проблеме. Думаю, вопрос закрыт.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jQuery jTreeMenu plugin Seafnox jQuery 9 12.01.2010 21:55
jQuery не работает ни в IE8 ни в Firefox Jon Events/DOM/Window 7 09.01.2010 23:39
jquery - Как получить полный путь? kirill.adw jQuery 5 20.11.2009 17:40
JQuery + FireFox NOOB jQuery 4 02.11.2009 18:16
Как правильно подгрузить jQuery Siton jQuery 4 15.06.2009 09:54