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
。这就是你犯错误的原因。