Jquery ajax 请求跨域获取json数据,数据可以获得,但json解析的时候报错,请问有什么方法?

$.ajax({url:"http://m.weather.com.cn/data/101020100.html",type:"post",dataType:"jsonp... $.ajax({
url: "http://m.weather.com.cn/data/101020100.html",
type: "post",
dataType:"jsonp",
jsonp:"callback",
success:function(data){
alert("success"+data);
},
error: function(xmlHttpRequest, textStatus, errorThrown) {
alert("error"+textStatus + errorThrown);
}
});
通过firebug可以知道,页面json数据获取了,但解析的时候报错了,请问有什么方法可以获取数据不?或者纯文本也是可以的?
今天很邪门,本来一个get应该就OK的,搞的头大了,万恶的js!
展开
 我来答
tz6060996
2012-03-20 · TA获得超过2283个赞
知道大有可为答主
回答量:1171
采纳率:100%
帮助的人:1623万
展开全部
Jquery ajax 想在客户端跨域必须使用jsonp(还可以使用js方式)。你的dataType:"jsonp",没有问题,但看你的url就不像一个jsonp的链接,jsonp的url通常是以?结束的。这里有一篇关于跨域访问的文章,不知对你是否有帮助。http://www.ibm.com/developerworks/cn/web/wa-aj-jsonp1/
catamaran
推荐于2018-05-01 · TA获得超过895个赞
知道小有建树答主
回答量:610
采纳率:0%
帮助的人:183万
展开全部
看了一下,好像没有提供jsonp的访问方法,weather.com.cn支持的是用iframe潜入的方法。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
瘦你妹呀
2019-09-12
知道答主
回答量:2
采纳率:0%
帮助的人:1374
展开全部
在后台需要
String callback=request.getParameter("callback");//参数以实际定义为准
return callback+"("+ data+")";
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
anizephyr
2012-03-22 · TA获得超过341个赞
知道答主
回答量:60
采纳率:0%
帮助的人:54.8万
展开全部
你这样能取到数据?callback都没带到url里
"http://m.weather.com.cn/data/101020100.html?callback="再试试
追问
请问callback里面是我的回调函数?

还是jsonp对方服务器要支持才可以啊?
追答
callback里面是你的回调函数名,你注意看url,这都是jquery封装好的,你可以看到callback=一串很长的随即字符串,这个就是你传过去的函数,相当于是把你的数据请求封装好成一个函数然后跨域执行这个函数,相当于脚本注入,你可以百度一下"jsonp原理",这个函数的返回值就是你的data
至于支持这个现在来说应该不存在了吧,都是支持的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式