$.getJSON跨域获取数据问题
按照教程改的。原始请求url报错:已阻止交叉源请求:同源策略不允许读取。加了&callback=?参数得不到数据,哪里不对啊!<html><head><metahttp-...
按照教程改的。
原始请求url报错:已阻止交叉源请求:同源策略不允许读取。
加了 &callback=? 参数得不到数据,哪里不对啊!
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK"/>
<script src="jquery-1.4.2.min.js"></script>
<script>
$().ready(function () { $.getJSON('http://api.map.baidu.com/telematics/v3/weather?location=%E8%A1%A1%E9%98%B3&output=json&ak=rnm8udmHdWaHFWZTO2tuTiG8&callback=?', weather)});
function weather(json){
var objJSON= $.parseJSON(json);
var w='';
for(i=0;i<4;i++)
{ w+=objJSON.results[0].weather_data[i].date+",<img src="+ objJSON.results[0].weather_data[i].dayPictureUrl+">"+"<img src="+ objJSON.results[0].weather_data[i].nightPictureUrl+">,"+ objJSON.results[0].weather_data[i].weather+","+ objJSON.results[0].weather_data[i].wind+","+ objJSON.results[0].weather_data[i].temperature+"<br>"; }
document.getElementById('weather').innerHTML=w;
}
</script>
</head>
<body>
<div id="weather"></div>
</body>
</html> 展开
原始请求url报错:已阻止交叉源请求:同源策略不允许读取。
加了 &callback=? 参数得不到数据,哪里不对啊!
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK"/>
<script src="jquery-1.4.2.min.js"></script>
<script>
$().ready(function () { $.getJSON('http://api.map.baidu.com/telematics/v3/weather?location=%E8%A1%A1%E9%98%B3&output=json&ak=rnm8udmHdWaHFWZTO2tuTiG8&callback=?', weather)});
function weather(json){
var objJSON= $.parseJSON(json);
var w='';
for(i=0;i<4;i++)
{ w+=objJSON.results[0].weather_data[i].date+",<img src="+ objJSON.results[0].weather_data[i].dayPictureUrl+">"+"<img src="+ objJSON.results[0].weather_data[i].nightPictureUrl+">,"+ objJSON.results[0].weather_data[i].weather+","+ objJSON.results[0].weather_data[i].wind+","+ objJSON.results[0].weather_data[i].temperature+"<br>"; }
document.getElementById('weather').innerHTML=w;
}
</script>
</head>
<body>
<div id="weather"></div>
</body>
</html> 展开
3个回答
展开全部
使用jsonp
$.ajax({
url : 'http://api.map.baidu.com/telematics/v3/weather?location=%E8%A1%A1%E9%98%B3&output=json&ak=rnm8udmHdWaHFWZTO2tuTiG8',
dataType : 'jsonp',
success : function(json){
//your code
}
});
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-02-21
展开全部
不用试了,只能用php 取值,用ajax跨域是不行的,网上有一堆所谓的跨域解决方案都不好用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
"&jsoncallback=?"换成这个
然后看看你的json是什么,有值就不说什么了,没值再说
然后看看你的json是什么,有值就不说什么了,没值再说
追问
SyntaxError: missing ; before statement
jsoncallback=jsonp1405572590665
结果一样,显示不出来。
追答
http://api.map.baidu.com/telematics/v3/weather?location=%E8%A1%A1%E9%98%B3&output=json&ak=rnm8udmHdWaHFWZTO2tuTiG8
你打开这个看看
如果使用服务器端语言的话网上有例子,我刚才看了一下,现在他还不支持跨域请求,所以你用Ajax的一些方法都是不可以的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询