JS / Ionic:TypeError:无法读取属性'代码'未定义的

时间:2016-02-22 08:33:37

标签: javascript ionic-framework

我只是JS的初学者。我正在尝试使用php RESTful Web服务从数据库登录。如果登录凭据匹配,则显示主页的用户。 我得到的错误是:TypeError:无法读取属性' code'在services.js中未定义:65 我该怎么做才能解决这个错误?为什么会发生这种错误?

我的services.js是:

.service('LoginService', function ($q, $http) {
return {
    loginUser: function (loginData) {
        var deferred = $q.defer(),
            promise = deferred.promise;

        $http({
            url: 'http://localhost/login.php',
            method: "POST",
            data: loginData,
            headers: {'Content-Type': 'application/json'}
        })
            .then(function (response) {
                if (response.data.error.code === "000") {
                    console.log("User login successful: " + JSON.stringify(response.data));
                    deferred.resolve(response.data);
                } else {
                    console.log("User login failed: " + JSON.stringify(response.data.error));
                    deferred.reject(response.data);
                }
            }, function (error) {
                console.log("Server error on Login " + JSON.stringify(error));
                deferred.reject(error);
            });

        promise.success = function (fn) {
            promise.then(fn);
            return promise;
        };
        promise.error = function (fn) {
            promise.then(null, fn);
            return promise;
        };
        return promise;
    }
  };
});

1 个答案:

答案 0 :(得分:1)

似乎response.data.error正在返回undefined(或者没有返回,导致undefined),这就是原因,如果您尝试阅读response.data.error.code,那么得到那个错误。

您可以尝试在if (response.data.error.code === "000") {上设置一个断点,看看response中的输出是什么,并相应地检查错误。