使用WP-API基本身份验证与AngularJS $ http通过设置标头不起作用

时间:2015-02-16 21:28:22

标签: angularjs wordpress curl ionic-framework wp-api

所以我想获取登录用户信息使用WP-API后端和AngularJS前端(移动应用程序,不是同一个域)。我在服务器端安装了WP-API基本身份验证,并使用

进行测试
curl --user muhua.hou:123123123 https://creatorup.com/wp-json/users/me

它工作并返回用户json对象。但是当我使用AngularJS / IonicFramework实现它时,它返回状态代码400.以下是我在AnguarJS中的操作方法

function linkUser(username, password) {
        var deferred = $q.defer();

        $ionicLoading.show({ template: "Loading..." });

        // Define the string
        var string = username + ":" + password;

        // Encode the String
        var encodedString = btoa(string);

        $http({method: 'GET', url: 'https://creatorup.com/wp-json/users/me', 
            headers: { 'Authorization': 'Basic ' + encodedString }
        })
        .success(function(data, status){
            $ionicLoading.hide();
            deferred.resolve(data);
        }).error(){
            console.log("Error while received data.");
            $ionicLoading.hide();
            deferred.reject();
        });
        return deferred.promise;
    }

$ http设置的授权标头来自此处的解决方案:Set HTTP header for one request

但它不会奏效。错误是:" XMLHttpRequest无法加载https://creatorup.com/wp-json/users/me。无效的HTTP状态代码400"如果我摆脱了$ http get请求中的header部分,它会响应401.所以标题部分有问题,我不知道如何做到这一点:(

0 个答案:

没有答案