[英]didn't get response for XMLHTTPRequest
我嘗試從天氣API獲取天氣信息,但一切似乎都正常,但我不知道為什么我沒有收到任何回復,URL正常
//get Response to weather status based on latitude on longitude positions
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
var lat = position.coords.latitude;
var lon = position.coords.longitude;
var apiKey = "d64b6f0e97c598ccf0f03718d1690fcc";
var url = "api.openweathermap.org/data/2.5/weather?lat="
var URL = url + lat + "&lon=" + lon + "&APPID=" + apiKey;
console.log(URL);
var xhr = new XMLHttpRequest();
xhr.open("GET", URL, true);
xhr.send();
xhr.onload = function() {
if (xhr.status == 200) {
document.getElementById("title").innerHTML = this.responseText;
}
}
});
} else {
alert("Error");
}
在瀏覽器中打開開發人員工具。
查看控制台。 查看是否有錯誤消息。
查看網絡標簽。 查看是否正在發出請求,是否在期望的位置發出請求以及是否獲得了期望的響應。
var url = "api.openweathermap.org/data/2.5/weather?lat="
您從URL忘記了該方案。 您正在相對於當前頁面的URL發出請求。 幾乎可以肯定會導致404 Not Found錯誤。
xhr.onload = function() { if (xhr.status == 200) { document.getElementById("title").innerHTML = this.responseText; } }
您只有一個onload
處理程序。 沒有onerror
處理程序,因此沒有代碼被觸發,然后XHR收到404錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.