AngularJs $ http.post()发送数据空状态:-1

时间:2017-04-06 21:42:28

标签: javascript angularjs ionic-framework

有人可以告诉我为什么以下声明不会将发布数据发送到指定的 URL 吗?

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

    var url = Config.serverUrl() + "/api-token-auth/";
    var data = {
        'username': username,
        'password': password
    };

    $http.post(url, data).then(function (responseData) {
        console.log(responseData);
        alert(url);
        alert(JSON.stringify(data));
        $localForage.setItem('shopper-user', responseData.data).then(function (user) {

            var token = "JWT " + user.token;
            $rootScope.token = token;
            $http.defaults.headers.common.Authorization = $rootScope.token;

            deferred.resolve(user);
        });

    }, function (error) {
        alert(url);
        alert(JSON.stringify(data));
        console.error(error);
        alert(JSON.stringify(error));
        deferred.reject(error);
    });

    return deferred.promise;
}

在服务器上调用URL,但只转到错误状态

错误:

{"data":null, "status":-1,"config":{"method":"POST"}}

1 个答案:

答案 0 :(得分:1)

客户端代码似乎没问题。

这可能是一个CORS问题。快乐确保服务器端代码响应200 OPTIONS请求(在POST请求之前由Angular发出)并且响应头被正确设置。

您可以找到有关如何配置CORS here

的更多信息