Angularjs响应状态不起作用

时间:2016-01-12 14:06:03

标签: angularjs

我试图抓住GET电话的响应状态,但它没有工作

$http({
            url: conf.url + 'page/' + $rootScope.name,
            method: "GET"
        })
            .then(function(response) { //200-299 status works correctly
             $rootScope.passwrd = response.data.password;                
             location.href = '#/page';
            },
            function(response) { //500 status: response = SyntaxError: Unexpected token F at Object.parse (native) at fromJson
                if (response.status == 500) {  //response.status = underfined
                    alert('Server error')
                } else {
                    alert('Other error');
                }
            });

2 个答案:

答案 0 :(得分:1)

你必须返回一个有效的json对象
意思是:

{ "message" : "Failed to generate phrase" }

而不仅仅是字符串"Failed to generate phrase"

答案 1 :(得分:1)

您的服务器似乎正在发送无效的JSON,正如您在评论中所说的那样,当他尝试从服务器读取结果并将其从json解析为javascript对象时,会使angularjs解析崩溃。

// response = SyntaxError: Unexpected token F at Object.parse (native) at fromJson

检查服务器发送的JSON(在jsonlint.com上复制/粘贴以验证它)。

如果不是JSON,请检查您的回复的内容类型是否不是json。