这是我第一次在jQuery中使用Facebook。
我收到以下错误:
Uncaught SyntaxError: Unexpected token :
www.facebook.com/feeds/page.php?id=20531316728&format=JSON
&callback=jQuery110105899784066714346_1383828332964&_=1383828332965:2
码
$.ajax({
url: 'http://www.facebook.com/feeds/page.php?id=20531316728&format=JSON',
dataType: 'jsonp'
}).done(function(data) {
alert(data);
});
我为什么得到这个?
jQuery作为Javascript框架,必须将实现规则应用于Ajax请求,更具体地说,是同源策略。简而言之,此限制表明Ajax请求只能对同一域执行。
这些信息也可以在jQuery$.ajax
文档中找到:
由于浏览器安全性的限制,大多数“ Ajax”请求都受相同的原始策略限制;该请求无法成功从其他域,子域或协议检索数据。
Yahoo Query Language是一种类似SQL的表达性语言,可让您跨Web服务查询,过滤和联接数据。借助YQL,应用程序可以以更少的代码行和更小的网络运行速度来更快地运行。
为了使跨域Ajax调用成为可能,可以将YQL用作代理。可以在这里找到说明:JavaScript:使用Web代理进行跨域XMLHttpRequest调用
var fbUrl = "http://www.facebook.com/feeds/page.php?id=20531316728&format=JSON";
$.ajax({
url: "http://query.yahooapis.com/v1/public/yql",
dataType: "jsonp",
data: {
q: 'select * from json where url="' + fbUrl + '"',
format: "json"
},
success: function (data) {
$.each(data.query.results.json.entries, function (i, v) {
$('#entries').append(data.query.results.json.entries[i].title + '<br />');
});
}
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句