2015-08-23 2 views
1
var xmlHttp = createXmlHttpRequestObject(); 

function createXmlHttpRequestObject() { 
    var xmlHttp; 

    if (window.XMLHttpRequest) { 
     xmlHttp = new XMLHttpRequest(); 

    } else { 
     xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 

    } 

    return xmlHttp; 
} 

function process() { 
    if (xmlHttp) { 
     xmlHttp.open("GET", "bacon.txt", true); 
     xmlHttp.onreadystatechange = handleServerResponse(); 
     xmlHttp.send(null); 
    } 
} 

function handleServerResponse() { 

    theD = document.getElementById('theD'); 

    if (xmlHttp.readyState == 1) { 
     theD.innerHTML += "Status 1:server connection established"; 
    } 

    if (xmlHttp.readyState == 2) { 
     theD.innerHTML += "Status 2:done"; 
    } 

    if (xmlHttp.readyState == 3) { 
     theD.innerHTML += "Status 3:done again"; 

    } 

    if (xmlHttp.readyState == 4) { 
     if (xmlHttp.status = 200) { 

      text = xmlHttp.responseText; 
      theD.innerHTML += "Status 4:request done"; 
      theD.innerHTML += text 
     } 
    } 
} 

Я получаю только "server connection established" в качестве выходного.Ошибка AJAX, не отображающий всю информацию

ответ

0

Вы не подключаете слушателя, а просто вызываете его один раз.

Заменить

xmlHttp.onreadystatechange = handleServerResponse(); 

с

xmlHttp.onreadystatechange = handleServerResponse; 
0

Вам нужно будет использовать скрипач здесь приятель, кажется, ваш запрос не полностью сделали это через и ваши застряли в readyState 1, что означает соединение действительно установленный, но он не может перейти к статусу номер 2, что сделано, что-то мешает.

Используйте скрипач, чтобы контролировать свой запрос и посмотреть, что происходит, тогда вам будет намного легче предпринять действия, чтобы решить ваши проблемы.

Смежные вопросы