2010-08-11 2 views
0

У меня только около 2 лет опыта веб-разработки под моим поясом, так что я может быть что-то довольно просто отсутствуют ....JQuery Ajax вопросы на Маках

Я создал тяжелый яваскрипта файл, который я упал в заголовке интрасети моей компании. Он использует вызовы jquery и ajax для создания мессенджера, аналогичного мессенджеру facebook или gmail.

Когда страница загружается, каждые 20 секунд фиксированный div обновляет # сообщений.

Это прекрасно работает в Firefox и IE для XP, Vista, Windows 7, Mac OS 10.4 (G4).

на Mac OS 10.4 (G5) и Mac OS 10.5 (Intel), она не работает, как ожидалось ...

При загрузке страницы, поджигатель показывает, что параметры передаются как ожидалось, и ответ возвращается, как и ожидалось, но по какой-то причине firebug отображает вызов красным цветом, и, конечно, изменения не обновляются. Вот код:

function check_for_messages(){ 
       // Takes care of IE's caching 
     var iedumb= d.getDate().toString() + d.getHours().toString() + d.getMinutes().toString() + d.getMilliseconds().toString(); 

       // id is the user's id, page returns # of messages 
     $.ajax({ 
      dataType: 'html', 
      url: url+'check_messages.asp?id='+$('#messenger-user-id').val()+'&iedumb='+iedumb, 
      success: function(data) { 
       if(parseInt(data) >= 0) 
        $('#messenger-new-messages').text("("+data+")");    
      } 
     }); 

     d = new Date(); 
     timer = setTimeout(check_for_messages, mil_seconds); 
} 

Согласно поджигатель, параметры и ответ выглядят хорошо, но это еще не похоже на работу. Я также пробовал Safari, что дало те же результаты. Я подозреваю, что это связано с предпочтениями пользователей, но я действительно не уверен. Прошло два полных дня, и у меня нет идей. Любые предложения будут высоко оценены.

ответ

1

Я сравнил данные заголовка запроса между браузерами и заметил, что «Referrer» отличается. В рабочем браузере реферер был http://ourintranetsite.com. В браузере, который не работал, реферер был http: //.

Я использовал полный путь URL для моих вызовов ajax, поэтому я сделал эти родственники, и рефереры были правильными, и все работало нормально.

С этим мне было любопытно, почему это произошло? Поскольку у меня было «http: //», браузер думал, что я пытаюсь вызвать ответ из другого домена, следовательно, это проблема безопасности и ошибка? Спасибо

0

Посмотрите, если вы получаете сообщения об ошибках (и, возможно, более откровенные), используя меню разработчика Safari и отладчик JS. Safari/Preferences/Advanced/

+0

Спасибо за ответ SongDogTech. Извините, мне потребовалось столько времени, чтобы ответить. Используя это, я смог сравнить данные заголовка запроса. – Chris

Смежные вопросы