1

我很好奇为什么我的 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(当你发送它时)——这看起来很奇怪..

有任何想法吗??

4

1 回答 1

0

如上所述:

在设置 .onreadystatechange 之后放置 .open() 有什么不同吗

是的Ein~,它确实有区别!我想,现成的状态现在可以正常工作了!我在发送请求时收到警报,并且我还在 readyState == 3 中尝试了警报,它也发出警报。但是,由于某种原因,响应似乎是空的

于 2013-10-10T02:11:45.367 回答