我用 PHP 做了一个简单的 API。这个 API 回显是一个使用 json_encode 的对象。
每个例子:
echo json_encode($obj);
我正在使用 jQuery 从这个 API 中检索信息。在测试脚本和 API 时,它们都在同一台服务器上运行。一切正常。
一个jQuery的例子:
$.ajax({
url: "php/api/test.php"
dataType: "json",
type: "POST",
succes: function(data) {
console.log("success");
},
error: function(response) {
console.log("error");
}
});
现在这工作正常。但是,由于 API 在外部服务器上运行,这不再起作用(是的,我将 url 更改为正确的)。
在 jQuery 最终从 API 接收信息之前,我必须更改 API 和 javascript 才能使用 JSONP。
我现在的 jQuery 是:
$.ajax({
url: "http://externalserver/php/api/test.php"
dataType: "jsonp",
type: "POST",
succes: function(data) {
console.log("success");
},
error: function(response) {
console.log("error");
}
});
PHP 将返回它以便工作:
echo $_REQUEST['callback'] . '(' . json_encode($obj) . ')';
现在我实际上宁愿使用 JSON 而不是 JSONP。
我知道我需要更改 PHP 文件以让 API 接受来自像我这样的外部脚本的传入请求。
你能告诉我我需要做什么吗?