我正嘗試使用簡單的http請求加載天氣數據。實際的請求是正確設置的,因爲它在未被調用時完美工作,而是程序在加載時運行它。但是,當我將代碼放入從onclick或onsubmit事件調用的函數中時,readyStatus直接與4對應,並且狀態代碼保持爲0,就是這樣。該請求沒有得到執行。有什麼我不知道在事件處理函數中設置http請求嗎?或者,我沒有意識到這項工作有錯誤。相關的代碼是正下方:XML HTTP請求在事件處理函數中不起作用
<form class="form-inline">
<div class="form-group">
<label for="city">City: </label>
<input type="city" class="form-control" id="city" placeholder="Enter City">
</div>
<div class="form-group">
<label for="state">State: </label>
<input type="state" class="form-control" id="state" placeholder="Enter State">
</div>
<button type="submit" class="btn btn-lg btn-info" id="submit" onclick="get_data()">Submit</button>
</form>
而GET_DATA功能,其中,所述HTTP請求是成立,是以下:
function get_data(){
request = new XMLHttpRequest();
request.open("GET", "http://api.wunderground.com/api/31c6aa45ad6072ac/conditions/q/MA/Boston.json", true);
request.onreadystatechange = function(){
alert(request.readyState);
alert(request.status);
if (request.readyState == 4 && request.status == 200) {
console.log(request.responseText);
}
}
request.send();
}
'readyState == 4'和'status == 200' –
你確定端點是可達的並且給json嗎? –
代碼plz不是圖像。我沒有輸入該網址來測試json端點,但很高興復制/粘貼。 – James