我尝试了两种类型的ajax调用来发布json数据,以便我可以使用woocommerce API订购商品。我正在使用OAuth1.0a来授权用户。它获取数据但无法发布数据。但它们都不适合我。所以请有人说如何使用ajax调用发布json数据。提前谢谢。
var oauth2 = OAuth({
consumer: {
public: 'key',
secret: 'secret'
},
signature_method: 'HMAC-SHA1'
});
var token = {
public: 'key',
secret: 'secret'
};
var dataToSend = {};
var request_data = {
url: 'http://www.example.com/wc-api/v3/orders',
method: 'POST',
data: dataToSend
};
return $.ajax({
url: request_data.url,
type: request_data.method,
data: oauth2.authorize(request_data, token)
});
return $.ajax({
url: request_data.url,
type: request_data.method,
'content-type': 'application/json',
body: request_data.data,
headers: oauth2.toHeader(oauth2.authorize(request_data, token))
});
密钥使用以下链接进行了内嵌: https://docs.woothemes.com/document/woocommerce-rest-api/
答案 0 :(得分:0)
只需查看oauth2.authorize中的所有标头(request_data,token)
只需在''之后将所有这些标题添加到网址中......这就是我的解决方案......
var generatedoauth = oauth.authorize(request_data, token);
console.log("oauth " + JSON.stringify(generatedoauth));
var newUrl = '<Url Goes Here>';
var paramsSt = '?oauth_consumer_key=' + generatedoauth.oauth_consumer_key + '&oauth_nonce=' + generatedoauth.oauth_nonce + '&oauth_signature_method=' + generatedoauth.oauth_signature_method + '&oauth_timestamp=' + generatedoauth.oauth_timestamp + '&oauth_signature=' + generatedoauth.oauth_signature;
newUrl = newUrl + paramsSt;`