jQuery getJSON有问题

时间:2010-08-25 13:48:49

标签: jquery json getjson

我正在使用以下URI来传递给jQuery的getJSON。

var publicVidsUrl = 'http://api.publicvideos.org/v/0/clips?callback=?';

$.getJSON(publicVidsUrl, function(data){
    alert(data.length); 
});

......但它失败了。虽然JSON返回的JSON返回在JSON lint中有效,但我不太确定。转义的双引号似乎很好,但我想知道父数组中每个对象周围的双引号。

有人可以帮助澄清这个错误的来源吗?具体来说,我在Firebug控制台中从jQuery收到此错误:

(d || "").split is not a function

我正在使用jQuery 1.4.2

5 个答案:

答案 0 :(得分:1)

API似乎不是用于javascript消费,更可能是它意味着要在服务器端处理; PHP,Python,C#等。

您使用的任何JavaScript都会因跨域问题而失败。除非你碰巧在publicvideos.org工作或有权在他们的域名上发布脚本。

答案 1 :(得分:0)

你必须引用你的字符串,如果你在实际的代码中省略它们,你会在发生任何其他事情之前得到语法错误:

var publicVidsUrl = "http://api.publicvideos.org/v/0/clips?callback=?";

答案 2 :(得分:0)

是的,所以我毕竟没有从公共视频API中获取JSONP。希望以某种方式对其进行排序。

答案 3 :(得分:0)

这不是有效的JSONP。有效的JSONP应该以?开头?一切都应该用括号括起来。以下是格式正确的JSONP的示例:

?({"posts":[{"id":"6", "url":"sample-6", "title":"sample 6", "content":"sample 6"},{"id":"5", "url":"sample-5", "title":"sample 5", "content":"sample 5"}]});

答案 4 :(得分:0)

不支持JSONP,因此对此API的客户端请求将不起作用。

一直看到底部: http://wiki.publicvideos.org/api/main

编辑:哈哈,刚刚注意到这是你在维基杰罗姆上的帖子。为了后人的缘故,我会留在这里:)