我在使用Wordpress REST API v2和Memberpress时出现问题, 我实际上要做的是使用REST API创建一个事务并使用BASIC身份验证。
我已经使用POSTMAN尝试了它并且它有效,但是,当我在我的网络应用上应用时,它总是返回403错误。
这是一个POST方法的片段
var settings = {
"async": true,
"crossDomain": true,
"url": "http://localhost:8080/gmm_web/wp-json/mp/v1/transactions",
"method": "POST",
"headers": {
"authorization": "Basic XXXXXXXXXXXXXXXXXXXXXXXXXX",
"content-type": "application/json",
"cache-control": "no-cache",
"postman-token": "806df233-f68c-09d6-9610-7894bedb1ea5"
},
"processData": false,
"data": "{\n\t\"member\":\"80\",\n\t\"membership\":\"777\",\n\t\"gateway\":\"manual\",\n\t\"status\":\"complete\"\n}"
}
$.ajax(settings).done(function (response) {
console.log(response);
});

有点坚持这个,我需要一些帮助才能解决这个问题 Memberpress'文件,如果我诚实是废话,它缺乏很多信息。
BTW,我已经安装了WP-JSON和JSON API wordpress插件以及其他可以帮助进行基本身份验证的插件,但是没有一个能够工作,即使编辑htaccess也不起作用。
谢谢!
答案 0 :(得分:0)
圣拉斐尔
请改为尝试:
var credentials = btoa('myusername:mypassword');
var settings = {
"async": true,
"crossDomain": true,
"url": "http://example.com/wp-json/mp/v1/transactions",
"method": "POST",
"type": "json",
beforeSend: function(xhr) {
xhr.setRequestHeader('Authorization', 'Basic ' + credentials);
},
//"headers": {
// "authorization": "Basic XXXXXXXXXXXXXXXXXXXXXXXXXX",
// "content-type": "application/json",
// "cache-control": "no-cache",
// "postman-token": "806df233-f68c-09d6-9610-7894bedb1ea5"
//},
//"processData": false,
"data": {
member: 80,
membership: 777,
gateway: "manual",
status: "complete"
}
}
$.ajax(settings).done(function(response) {
console.log(response);
});

我刚刚测试了这个,但它似乎有效。