2017-07-17 28 views
0

我是一個初學者,它可能看起來像一個非常愚蠢的問題,但我仍然不知道爲什麼這個代碼不起作用。 URL是正確的,服務器應該響應,但仍然沒有任何東西。作爲函數JS XMLHttpRequest不起作用

function request(data, item) { 
    var xhr = new XMLHttpRequest(); 
    xhr.onreadystatechange = function() { 
     if (this.readyState == 4 && this.status == 200) { 
      data = JSON.parse(xhr.responseText); 
      return data; 
     } else { 
      alert("Something went wrong!"); 
     } 
    }; 
    xhr.open("GET", "http://somewebsite.com/" + item, false); 
    xhr.send(); 
} 

items = ["item1", "item2", "item3"...]; 

for (var i=0; i>items.lenght; i++) { 
     request(history, items[i]); 
     // code for processing history object 
} 

我想保存在歷史JSON響應,然後處理它

+0

您是否檢查是否有實際的請求?你在for循環中拼寫'length'錯誤,'i> items.length'(大於)應該可能是'i Meldon

+0

另外,請記住readystatechange會多次觸發,所以如果在else中記錄錯誤,那麼簡單的if/else語句不會在請求通過readyState 1之前進入readyState 4 – Meldon

+0

您應該首先檢查您的控制檯,看看是否有任何錯誤。 – bhansa

回答

0

我拼寫錯誤length,現在的作品,感謝Meldon!