显示来自ajax json解析的数据时出现问题

Trouble displaying data from ajax json parse

本文关键字:数据 问题 ajax json 显示      更新时间:2023-09-26

这是我的代码笔的链接:http://codepen.io/dsemel/pen/VamEyE

这是似乎有问题的代码部分:

function success(position){
var WeatherKey = '6068dffce2f44535a07202457162103';
var lat = position.coords.latitude; 
var long = position.coords.longitude; 

   var weatherUrl = "http://api.apixu.com/v1/current.json?key=" + WeatherKey +     
                     "&q=" + lat + "," + long;

$.ajax({
url : weatherUrl,
type: 'GET',
dataType : 'json',
success : function(data) {
var city = data['location']['name'];
    var tempFar = data['current']['temp_f'];
    var img = data['condition'][0]['icon'];
    var desc = data['condition']['text'];
$('#weatherInfo2').text(tempFar);  
}
 });
}

遇到这些错误时,请确保检查开发人员工具控制台。您的代码正在引发此错误Uncaught TypeError: Cannot read property '0' of undefined

condition对象是current对象的一部分,因此在访问condition对象之前必须访问current对象。

更新的工作代码笔

我认为你的代码运行良好,你只是在代码中遗漏了一件小事,我纠正了这一点http://codepen.io/rahulchaturvedie/pen/RagGdR

$.ajax({
  url : weatherUrl,
  type: 'GET',
  dataType : 'json',
  success : function(data) {
    console.log(data);
    var city = data['location']['name'];
    var tempFar = data['current']['temp_f'];
    var img = data.current.condition.icon; // correct this
    var desc = data.current.condition.text; // correct this
    $('#weatherInfo2').text(tempFar);  
   }   
  });