Mac上的jQuery Ajax问题

时间:2010-08-11 15:30:23

标签: macos jquery

我只有2年左右的网络开发经验,所以我可能会遗漏一些非常简单的东西....

我创建了一个沉重的javascript文件,我将其放入公司内部网的标题中。它使用jquery和ajax调用来创建类似于facebook或gmail的信使的信使。

当页面加载时,固定div会每20秒更新一次所有的消息。

这适用于Firefox和IE for 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 个答案:

答案 0 :(得分:1)

我比较了浏览器之间的请求标头数据,并注意到'Referrer'不同。在工作浏览器上,引荐来源是http://ourintranetsite.com。在不起作用的浏览器上,引荐来源是http://。

我正在使用完整的URL路径来进行我的ajax调用,所以我将这些调整为相对而且引用都是正确的,一切正常。

有了这个,我很好奇为什么会这样?因为我有'http://'浏览器认为我试图从另一个域调用响应,因此是一个安全问题并且失败了吗?谢谢

答案 1 :(得分:0)

使用Safari的开发人员菜单和JS调试器查看是否有不同(可能更具启发性)的错误消息。 Safari浏览器/偏好/高级/