如何使用JSONP查询Facebook Graph API

San*_*uys 5 jquery jsonp facebook

不应该遵循JQuery工作的AJAX请求吗?

$.getJSON('https://graph.facebook.com/138654562862101/feed?callback=onLoadJSONP');
Run Code Online (Sandbox Code Playgroud)

我已经定义了一个名为的回调函数onLoadJSONP.

但是Chrome给了我一个典型的Same-Origin-Policy错误:

XMLHttpRequest的无法加载 https://graph.facebook.com/138654562862101/feed?callback=onLoadJSONP.Access-Control-Allow-Origin不允许使用null.

我以为JSONP解决了这个问题,我做错了什么?

Nic*_*ver 17

jQuery的检测JSONP期望的行为 特别是callback=?,所以你需要精确地说,再传给你要处理它的功能.没有外部更改,您可以这样做:

$.getJSON('https://graph.facebook.com/138654562862101/feed?callback=?', onLoadJSONP);
Run Code Online (Sandbox Code Playgroud)

这样可以callback=?直接使用您的函数作为回调来搜索仍然有效.此前,它不是detecthing你想要一个JSONP获取,并试图用一个XMLHttpRequest来获取数据...它失败,因为同源策略的限制.