<a href="#">jsonp</a>
<script src="http://cdn.bootcss.com/jquery/2.0.3/jquery.min.js"></script>
<script>
$('a').click(function(event){
$.getJSON('http://www.pm25.in/api/querys/pm2_5.json?city=zhuhai&token=5j1znBVAsnSf5xQyNQyq&callback=?',
function(data){
var xx = JSON.stringify(data);
alert(xx[0].aqi);
});
event.preventDefault();
});
</script>
弹出:
我想要的结果是:
alert(xx[0]);
弹出{"aqi":35,"area":"珠海","pm2_5":24,"pm2_5_24h":25,"position_name":"吉大","primary_pollutant":null,"quality":"优","station_code":"1367A","time_point":"2014-03-07T08:00:00Z"
或者:
alert(xx[0].aqi);
弹出35
但它弹出undefined了
$('a').click(function(event){
event.preventDefault();
$.getJSON('http://www.pm25.in/api/querys/pm2_5.json?city=zhuhai&token=5j1znBVAsnSf5xQyNQyq&callback=?',
function(data){
var xx = data[0];
var json = JSON.stringify(xx);
alert(xx.aqi);
});
});
{
error: "Sorry,您这个小时内的API请求次数用完了,休息一下吧!"
}
难道是api的问题?
还有你给出的这个 url 本身就是json格式的,不需要stringify了
额,getJSON
的回调函数中对JSON字符串已经做了自动解析,你可以直接用data[0].aqi
获取到35
,如果想要得到JSON字符串的话,应该是alert(JSON.stringfy(data[0]))
。