首页 新闻 会员 周边 捐助

invalid label

0
悬赏园豆:10 [已解决问题] 解决于 2012-07-29 23:22

通过使用 Jquery Ajax 的jsonp跨域调用,返回的json的数据时候,总是显示“invalid label

数据倒是获取到了!!

查找了相关的资料,结果还不行

js代码:

  1. $.ajax({
  2. type: "get",
  3. async: false,
  4. url: "http://m.weather.com.cn/data/101100901.html",
  5. dataType: "jsonp",
  6. jsonp: "callback", //传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback)
  7. jsonpCallback: "meHandler", //自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名,也可以写"?",jQuery会自动为你处理数据
  8. success: function (data) {
  9. var result = eval("(" + data + ")");//firebug显示:invalid label
  10. alert(result);
  11. // alert('您查询到航班信息:票价: ' + json.price + ' 元,余票: ' + json.tickets + ' 张。');
  12. // alert("success");
  13. },
  14. error: function () {
  15. alert('fail');
  16. }
  17. });
  18. 通过firebug查看:json格式的数据已经获取到了!!

求大侠支招

Angkor--:--的主页 Angkor--:-- | 小虾三级 | 园豆:1086
提问于:2012-07-19 18:37
< >
分享
最佳答案
1

服务端并没有实现对jsonp调用的支持

收获园豆:5
dudu | 高人七级 |园豆:29759 | 2012-07-20 11:19

那我想调用这个页面的数据,能通过什么方式呢

???

Angkor--:-- | 园豆:1086 (小虾三级) | 2012-07-20 14:24

@Angkor: 用代理的方式,通过你的服务器端调用这个页面的数据,然后ajax调用你的服务器端。

dudu | 园豆:29759 (高人七级) | 2012-07-20 14:27

@dudu: WebClient搞,把这个url返回的字符串作为我本地的ajax请求响应了,哈哈哈!

搞定了!

Angkor--:-- | 园豆:1086 (小虾三级) | 2012-07-29 23:19
其他回答(2)
1

一般这种情况是你的 json 格式有问题,请检查,或者把json数据贴上来,

你可以直接用 $.parseJSON 尝试一下!

收获园豆:5
张坤 | 园豆:1865 (小虾三级) | 2012-07-19 23:13

支持(0) 反对(0) Angkor--:-- | 园豆:1086 (小虾三级) | 2012-07-20 08:15

您可以看看:http://m.weather.com.cn/data/101100901.html

数据来自这个地址

支持(0) 反对(0) Angkor--:-- | 园豆:1086 (小虾三级) | 2012-07-20 08:17

@Angkor: 

1.如果你用 $.ajax 方式去调用,肯定是没办法跨域的;

2.如果你用 $.getJSON 方法,http://m.weather.com.cn/data/101100901.html 这个地址并没有实现 jsonp 接口呢 !

支持(0) 反对(0) 张坤 | 园豆:1865 (小虾三级) | 2012-07-20 10:20

@张坤: 那还能用什么方式调用这个页面的数据

既然他给了json响应,就是给人家调用的吧?要不然,有什么意义呢?

求指点!!

支持(0) 反对(0) Angkor--:-- | 园豆:1086 (小虾三级) | 2012-07-20 14:25

@Angkor: 这个是提供出来给调用的,但是不是给前端 js 什么调用的,你可以在服务器端做一个中转, ajax 本域程序,然后程序去这个地址取出数据并返回 !

支持(0) 反对(0) 张坤 | 园豆:1865 (小虾三级) | 2012-07-20 14:27

@张坤: good !thanks!

支持(0) 反对(0) Angkor--:-- | 园豆:1086 (小虾三级) | 2012-07-29 23:20
0

这个问题我解决了,参考这个http://jira.codehaus.org/browse/GEOS-1411?focusedCommentId=162917&page=com.atlassian.jira.plugin.system.issuetabpanels%3acomment-tabpanel#comment-162917,在跨域链接后添加&format_options=callback:myCallback就可以,myCallback是你的json处理

geosmart | 园豆:204 (菜鸟二级) | 2012-10-15 17:12

谢谢。。。!

支持(0) 反对(0) Angkor--:-- | 园豆:1086 (小虾三级) | 2012-10-17 18:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册