我正在使用apache cordova制作应用程序......我需要从wordpress网站上发帖。
请在您说重复之前阅读以下几点:
所以,我安装了Rest Api v2:http://v2.wp-api.org/
启用了这样的cors:
< ? header ( " Access- Control-Allow -Origin : * " ) ; ? >
在主题的header.php中,甚至在wp-content/plugins/json-api/singletons/api.php
为GET REST API调用此方法:
jQuery.ajax({
type: "GET",
url: "myURL",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data, status, jqXHR) {
alert("suucess");
}
});
结果总是一样的,firebug告诉我CORS被锁定了,所以我不能从外部提出要求......我该怎么解决?
答案 0 :(得分:0)
您好,无需将其添加到主题标题中,只需将以下代码添加到 wp-content / plugins / json-api / json-api.php 文件中 json_api_init()功能
if (isset($_SERVER['HTTP_ORIGIN'])) { header("Access-Control-Allow-Origin: *"); header('Access-Control-Allow-Credentials: true'); header("Access-Control-Allow-Methods: GET, POST, OPTIONS"); } // Accept Cross Domain Transfer. if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') { if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD'])) header("Access-Control-Allow-Methods: GET, POST, OPTIONS"); if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS'])) header("Access-Control-Allow-Headers:{$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}"); exit(0); }
答案 1 :(得分:0)
我已将DataType: "json"
更改为DataType: "jsonp"
解决方案:将DataType设置为jsonp。