为什么我的ajax呼叫在谷歌浏览器失败

Why is my AJAX-call failing in Google Chrome?

本文关键字:谷歌浏览器 失败 呼叫 我的 ajax 为什么      更新时间:2023-09-26

我很好奇为什么我的ajax调用在Google Chrome中失败,它在Firefox中工作得很好。在任何人问之前,不,我没有使用JQuery,因为我需要访问readyState == 3,而JQuery似乎没有。

我的脚本目前看起来是这样的(去掉了大量不必要的部分):

function fetch()
{
    main = new XMLHttpRequest();
    main.open("GET", "<?php echo anchor("thescript"); ?>", true);
    var lastResponse = '';
    var statusString = 'Step 1(of 3), please wait... ';
    main.onreadystatechange = function()
    {
        if( main.readyState == 1 ) 
        {
            alert('Fetch!');
            $("#ajax-status").html( statusString );
        }
        // If there's been an update
        if( main.readyState == 3 )
        {
        }
        if( main.readyState == 4 )
        {
        }
    };
    main.send(null);
}

它在Firefox中工作得很好,但在Chrome中它甚至不提醒任何东西,所以它甚至不会进入readyState 1(这是你发送它的时候)-这似乎相当奇怪…

有什么想法?

如上所述:

在设置。onreadystatechange

之后放置。open()有什么区别吗?

是的Ein~,它实际上是有区别的!readystate现在正常工作了,我想!当它发送请求时,我收到了警报,我还尝试在readyState == 3中发出警报,它也发出了警报。然而,由于某些原因,响应似乎是空的