我正在尝试使用AngularJS将数据发布到Woocommerce API。我正在使用OAuth库来生成签名(我能够成功获取数据)。
angular.module('starter.services',[])
.factory('AuthService', function($http){
function getData(urlAppended, method, ContentType, data)
{
ck = 'ck_000';
cs = 'cs_000';
url = 'http://myurl.com/wc-api/v3' + urlAppended;
oauth = OAuth({
consumer: {
public: ck,
secret: cs
},
signature_method: 'HMAC-SHA1'
});
request_data = {
url: url,
method: method,
}
params = oauth.authorize(request_data);
console.log(params);
return $http({
url: request_data.url,
method: request_data.method,
params: params,
data: data,
dataType: "json",
headers: {
"Content-Type": ContentType
}
});
}
return {
getData: getData
}
})
这是我为API发出请求而编写的服务。 这是我的POST请求。
AuthService.getData('/customers/', 'post', 'application/json', data).then(function(response){
console.log("Done" + response);
})
这里data
是一个JSON对象。我总是得到错误。
XMLHttpRequest cannot load http://myurl.com/wc-api/v3/customers/?oauth_consumer_key=ck_eb42…th_signature_method=HMAC-SHA1&oauth_timestamp=1454961387&oauth_version=1.0. Response for preflight has invalid HTTP status code 401
这是我的.htaccess代码
Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"
我一直在尝试让它发挥作用但却无法做到。任何帮助都非常感谢。感谢。