Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.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 对天气API的AJAX调用不起作用_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 对天气API的AJAX调用不起作用

Javascript 对天气API的AJAX调用不起作用,javascript,jquery,ajax,Javascript,Jquery,Ajax,我编写了一个ajax GET来检索天气信息,但我一直收到一个错误。这里的问题是什么 函数获取温度详细信息(经度、纬度){ $.ajax({ url:“api.openweathermap.org/data/2.5/weather”, 键入:“获取”, 数据类型:“JSON”, 数据:{ 纬度, 朗:经度, 附件:“c659eb709194683af915fba5e270c580” }, 成功:功能(数据){ 警报(数据); }, 错误:函数(数据、文本状态、错误抛出){ //做点什么来处理错误

我编写了一个ajax GET来检索天气信息,但我一直收到一个错误。这里的问题是什么

函数获取温度详细信息(经度、纬度){
$.ajax({
url:“api.openweathermap.org/data/2.5/weather”,
键入:“获取”,
数据类型:“JSON”,
数据:{
纬度,
朗:经度,
附件:“c659eb709194683af915fba5e270c580”
},
成功:功能(数据){
警报(数据);
},
错误:函数(数据、文本状态、错误抛出){
//做点什么来处理错误
警报(文本状态);
}
});
}
获取温度详细信息(35149)
1-

将http://
添加到URL。
“http://api.openweathermap.org/data/2.5/weather“
否则您将请求
http://yourserver.com/some-uri/api.openweathermap.org/data/2.5/weather
这显然不是开放的wheather地图API

2-

您发送的经度值无效(根据的有效值),因此请交换参数定义或交换值。我交换了参数定义,因为您通常使用lat/lng而不是lng/lat

以下是一个工作示例:

函数getTemperatureDetails(纬度、经度){//我把lat放在第一位
$.ajax({
//http://added
url:“http://api.openweathermap.org/data/2.5/weather",
键入:“获取”,
数据类型:“JSON”,
数据:{
纬度,
朗:经度,
附件:“b1b15e88fa797225412429c1c50c122a1”
},
成功:功能(数据){
控制台日志(数据);
},
错误:函数(数据、文本状态、错误抛出){
//做点什么来处理错误
console.log(textStatus);
}
});
}
获取温度详细信息(35149)

这似乎是一个跨来源的问题。您需要
http://api.openweathermap.org/data/2.5/weather
-因为按照原样,请求正在查找与当前页面相关的
/api.openweathermap.org/data/2.5/weather
-注意,如果您的页面是
https
,您将一点运气都没有,因为openweathermap不做https
@DanPhilip-不,openweathermap允许CORSOK…很高兴知道!这是一个CORS问题,请安装nginx并配置它之后,我会工作。您还有另一个临时解决方案来检查安装chrome扩展“Allow Control Allow Origin”。为什么正式变量的顺序很重要?顺序不重要,但他似乎在发送纬度值中的经度值,这就是为什么我要这么做。@Roamer-1888请求使用纬度=149和经度=35打开WatherMap抛出了一个错误,而相反的则没有。好,现在有意义了。忽略我。@Roamer-1888我忽略了你,但在回答中添加了一个原因:)