1

Google Chrome で AJAX 呼び出しが失敗する理由について知りたいのですが、Firefox では問題なく動作します。誰かが尋ねる前に、私は JQuery を使用していません。なぜなら、JQuery にはないように見える readyState == 3 にアクセスする必要があるからです。

私のスクリプトは現在、次のようになっています(大きな不要な部分が取り除かれています):

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() を配置しても違いはありますか

そしてはい、アイン〜、それは実際に違いを生みます!ReadyState は適切に機能していると思います。リクエストを送信したときにアラートを受け取り、readyState == 3 でアラートを試してみたところ、それもアラートされました。ただし、何らかの理由で応答が空のようです

于 2013-10-10T02:11:45.367 に答える