您不能通过 JSONP 发布。您只能使用 GET。
域名还应包含:http:// 以访问外部文档。我希望你知道你必须创建一个使用 JSONP 的函数。默认回调函数称为callback,因此您的响应应该类似于:
callback({ "data" : "data"});
回调函数?callback=? 将自动添加到 URL。如果你有重写,你必须使用$_GET['callback'] 来获取回调函数。
来自 jQuery docs:
“jsonp”:使用 JSONP 加载到 JSON 块中。添加一个额外的
“?回调=?”到 URL 的末尾以指定回调。禁用
通过将查询字符串参数“_=[TIMESTAMP]”附加到
URL,除非缓存选项设置为 true。
编辑
您的请求将类似于:
$.ajax({
url: "http://domainName.com/api/v1/statistics/1",
crossDomain: true,
dataType: 'jsonp',
jsonp : "mycallback",
success : function(data){
console.log(data.thiskey); // Will log OK
}
});
现在 API 的请求 URL 将如下所示(jQuery 将附加 ?callback=mycallback):
http://domainName.com/api/v1/statistics/1?callback=mycallback
在您的响应中,您必须创建一个函数调用,以便它调用 jQuery Ajax 函数。这个结果需要看起来像这样:
mycallback({ thiskey : "OK" }); // The data in this call can be retreived at the success function
在成功函数中,您可以检索您的数据,例如:
success : function(data){
console.log(data.thiskey); // Will log OK
}