标题几乎说明了问题。我已经在我的地址栏中输入了 URL,它返回正常。我觉得它有些愚蠢,我只是看不到它,因为我已经盯着它看了一段时间,但这是代码。
(function() {
var httpRequest;
document.getElementById("weatherButton").addEventListener('click', makeRequest);
function makeRequest() {
httpRequest = new XMLHttpRequest();
if (!httpRequest) {
alert('Cannot create XMLHTTP instance!');
return false;
}
httpRequest.onreadystatechange = alertContents;
httpRequest.open("GET", "api.openweathermap.org/data/2.5/weather?zip=94040&APPID=xxxxxxxxx&mode=json");
httpRequest.send();
}
function alertContents() {
if (httpRequest.readyState != 4) {
return;
}
if (httpRequest.status == 200) {
alert(httpRequest.responseXML);
}
if (httpRequest.status != 200) {
alert(httpRequest.status + ": " + httpRequest.statusText_)
alert(httpRequest.readyState)
}
}
})();
最佳答案
尝试指定完整路径:
httpRequest.open("GET", "https://api.openweathermap.org/data/2.5/weather?zip=94040&APPID=xxxxxxxxx&mode=json");
否则,它会查找 [yourdomain]/api.openweathermap.org/...
。
关于javascript - XMLHTTPRequest 请求打开天气返回状态 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49620587/