Почему мой AJAX-вызов не работает в Google Chrome? - PullRequest
0 голосов
/ 27 сентября 2011

Мне любопытно, почему мой 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 (когда вы его отправляете) - это выглядит довольно странно..

Есть идеи ??

1 Ответ

0 голосов
/ 10 октября 2013

Как отмечено выше:

имеет какое-либо значение ставить .open () после установки .onreadystatechange

И да, Эйн ~, это действительно имеет значение! Думаю, сейчас все готово! Я получаю оповещение, когда оно отправляет запрос, и я также пробовал оповещение в readyState == 3, и оно тоже оповещает об этом. Тем не менее, по некоторым причинам, ответ кажется пустым

...