javascript – 使用命名函数作为jQuery中$.getJSON的回调来满足Facebook请求签名要求

我正在尝试通过jQuery访问Facebook API Admin.getMetrics方法.我正确地在服务器端编写请求URL(为了保密我的应用程序秘密).我然后使用jQuery.getJSON()将URL发送到浏览器以进行请求.

Facebook要求我发送我的所有请求参数的副本以及我的应用程序秘密和请求,以验证我的真实性.问题是jQuery想要生成回调函数本身的名称,以便匹配它传递给您传入的匿名函数的名称,以便在数据返回时调用.因此,在jQuery.getJSON()执行之前函数的名称不可用,并且Facebook认为我的请求由于签名不匹配而不真实(我发送的签名不包含正确的回调参数,因为直到jQuery才生成.getJSON()运行).

我能想出这个问题的唯一方法是以某种方式将我的函数名称指定给jQuery.getJSON(),而不是让它保持匿名.但我在jQuery AP中找不到任何选项.

解决方法:

对我来说唯一能做的就是以下设置

jQuery.ajax({
  url:fbookUrl,
  dataType:“jsonp”,
  类型:“GET”,
  cache:true,
  jsonp:false,
  jsonpCallback:“MyFunctionName”//在这里输入你的函数名
});

上一篇:简单的JSONP和PHP示例不起作用


下一篇:javascript – 使用jQuery.support.cors = true的跨域脚本编写