预检的响应具有无效的HTTP状态代码401

时间:2016-02-08 20:08:51

标签: angularjs wordpress post woocommerce cors

我正在尝试使用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"

我一直在尝试让它发挥作用但却无法做到。任何帮助都非常感谢。感谢。

0 个答案:

没有答案