Проблемы jQuery Ajax на Mac - PullRequest
       0

Проблемы jQuery Ajax на Mac

0 голосов
/ 11 августа 2010

У меня есть только 2 года опыта веб-разработки под моим поясом, поэтому я могу упустить что-то довольно простое ...

Я создал тяжелый файл JavaScript, который я поместил в заголовок моей компании.интрасеть.Он использует вызовы 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 показывает, что параметры передаются какожидается, и ответ возвращается, как и ожидалось, но по какой-то причине 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);
}

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

Ответы [ 2 ]

1 голос
/ 01 октября 2010

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

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

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

0 голосов
/ 11 августа 2010

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

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