Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.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 按邮政编码打开天气图天气数据不起作用?_Javascript_Jquery_Weather_Openweathermap - Fatal编程技术网

Javascript 按邮政编码打开天气图天气数据不起作用?

Javascript 按邮政编码打开天气图天气数据不起作用?,javascript,jquery,weather,openweathermap,Javascript,Jquery,Weather,Openweathermap,我需要这样做,当在框中键入邮政编码并单击提交按钮时,城市名称就会显示在框下。当我在输入邮政编码后单击按钮时,城市名称不会显示。它说错误在于WalloftText不是一个函数,但我不确定如何修复它。任何帮助都将不胜感激!!代码如下: 例子 输入您的邮政编码: 提交 函数weatherFunction(){ var zip=document.getElementById(“zipBox”).value; jQuery(文档).ready(函数($){ $.ajax({ url:“http://

我需要这样做,当在框中键入邮政编码并单击提交按钮时,城市名称就会显示在框下。当我在输入邮政编码后单击按钮时,城市名称不会显示。它说错误在于WalloftText不是一个函数,但我不确定如何修复它。任何帮助都将不胜感激!!代码如下:


例子
输入您的邮政编码:


提交

函数weatherFunction(){ var zip=document.getElementById(“zipBox”).value; jQuery(文档).ready(函数($){ $.ajax({ url:“http://api.openweathermap.org/data/2.5/weather?zip=“+zip+”,美国和appid=b3456f9acbfa64fc4495e6696ecdc9a5”, 数据类型:“jsonp”, 成功:功能(wallOfText){ 城市=wallOfText(“名称”); if(zip!=null){ document.getElementById(“结果”).innerHTML=wallOfText; } } }); }); }
问题是,您试图调用
wallOfText
就像它是一个函数一样,而实际上它是从AJAX调用的响应中反序列化的对象。因此,您需要访问对象的
name
属性来设置
city
变量,然后使用该变量来设置
#result
元素的
text()

请注意,函数中的document.ready处理程序是冗余的,您应该在发出请求之前进行
zip
值验证。我还更新了使用jQuery绑定按钮上的事件处理程序的逻辑,而不是过时的
onclick
属性。试试这个:

jQuery(函数(){
$(“#发送”)。单击(函数(){
var zip=$(“#zipBox”).val();
如果(zip!=''){
$.ajax({
url:“http://api.openweathermap.org/data/2.5/weather?zip=“+zip+”,美国和appid=b3456f9acbfa64fc4495e6696ecdc9a5”,
数据类型:“jsonp”,
成功:功能(wallOfText){
var city=wallOfText.name;
$(“#结果”)。文本(城市);
}
});
}
});
});

输入您的邮政编码:


提交