Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.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_Api - Fatal编程技术网

Javascript 无法获取属性';查询';指未定义的或空的引用

Javascript 无法获取属性';查询';指未定义的或空的引用,javascript,api,Javascript,Api,我正在使用 这是我的密码: <script> var callbackFunction = function (data) { console.log(data); var location = data.query.results.channel.location; var condition = data.query.results.channel.item.condition; var wind = data.query.results.cha

我正在使用

这是我的密码:

<script>
var callbackFunction = function (data) {
    console.log(data);

    var location = data.query.results.channel.location;
    var condition = data.query.results.channel.item.condition;
    var wind = data.query.results.channel.wind;
    var units = data.query.results.channel.units;

    document.getElementById('Weather-Info').innerHTML = 'The weather for ' + location.city + ', ' + location.region + ' is ' + condition.temp + units.temperature + ' with a wind speed of ' + wind.speed;
}
callbackFunction()

var callbackFunction=函数(数据){
控制台日志(数据);
var位置=data.query.results.channel.location;
var条件=data.query.results.channel.item.condition;
var wind=data.query.results.channel.wind;
var units=data.query.results.channel.units;
document.getElementById('Weather-Info')。innerHTML='对于'+location.city+','+location.region+'的天气是'+condition.temp+units.temperature+',风速为'+wind.speed;
}
callbackFunction()


每次进入页面时,我都会收到以下弹出窗口:

无法获取未定义或空引用的属性“query”


但如果我点击“否”,数据仍会填充。。如果它告诉我某个属性未定义,它如何填充数据?YQL天气API是一个非常复杂的函数。

为什么您自己调用回调函数?在任何情况下,在没有参数的情况下调用它,意味着
数据
将是未定义的,这就是您得到错误的原因

我对雅虎一无所知!weather API,但这看起来像是一个
JSONP
东西,所以请尝试删除此部分:

callbackFunction()

因为脚本加载后会自动调用此函数。

为什么要自己调用回调函数?在任何情况下,在没有参数的情况下调用它,意味着
数据
将是未定义的,这就是您得到错误的原因

我对雅虎一无所知!weather API,但这看起来像是一个
JSONP
东西,所以请尝试删除此部分:

callbackFunction()

因为这将在脚本加载后自动调用。

请注意,您正在定义之后调用
callbackFunction
。这就是出现错误的原因。请注意,您正在定义之后调用
callbackFunction
。这就是你犯错误的原因。