Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 即使链接正常,也能获得404_Javascript_Json - Fatal编程技术网

Javascript 即使链接正常,也能获得404

Javascript 即使链接正常,也能获得404,javascript,json,Javascript,Json,我正在尝试使用OpenWeatherMap并获取天气的JSON。 在控制台中,我看到404消息,但当我手动访问url时,它会给出正确的JSON var纬度; var经度; var apid=“c440e3f473378f9705827ed71efe5dcc”; var request=new XMLHttpRequest(); 函数getLocation(){ if(导航器.地理位置){ navigator.geolocation.getCurrentPosition(函数getPositio

我正在尝试使用OpenWeatherMap并获取天气的JSON。 在控制台中,我看到404消息,但当我手动访问url时,它会给出正确的JSON

var纬度;
var经度;
var apid=“c440e3f473378f9705827ed71efe5dcc”;
var request=new XMLHttpRequest();
函数getLocation(){
if(导航器.地理位置){
navigator.geolocation.getCurrentPosition(函数getPosition)(位置){
纬度=位置坐标纬度;
经度=position.coords.longitude;
getJson();
});
}否则{
警报(“地理位置不工作或浏览器不支持”);
}
}
函数getJson(){
request.open('GET',“api.openweathermap.org/data/2.5/weather?lat=“+纬度+”&lon=“+经度+”&APPID=“+apid+”);
request.onload=函数(数据){
控制台日志(数据);
};
request.send();
}

getLocation()
您需要在URL的开头指定
http

request.open('GET', "http://api.openweathermap.org/data/2.5/weather?lat=" + latitude + "&lon=" + longitude + "&APPID=" + apiId + "");

您的url中缺少协议。虽然我们人类理解这是一个uri,但您的浏览器会尝试更正您的计算机不知道如何处理它。预编
http://
https://
或甚至可能是
www
。我假设您正在设备上进行本地测试(并且没有任何本地服务器),这意味着您必须在每个链接的开头使用
https://
http://
,或者,它会假定默认情况下它是
文件://
。谢谢@Saharsh我正在使用codepen,所以我遇到了问题,因为OpenWeatherMap使用http,并且它不工作在数据库中,但现在我得到了一个错误,请求被阻止,因为请求应该是“https”。我将它添加到url,但链接不起作用(我正在使用代码笔),你说的“它不起作用”是什么意思?你是否收到错误消息?