Angularjs响应状态不为';行不通

Angularjs响应状态不为';行不通,angularjs,Angularjs,我正在尝试捕获GET call的响应状态,但它不起作用 $http({ url: conf.url + 'page/' + $rootScope.name, method: "GET" }) .then(function(response) { //200-299 status works correctly $rootScope.passwrd = response.data.pa

我正在尝试捕获GET call的响应状态,但它不起作用

$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');
                }
            });

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


除了字符串
“无法生成短语”

之外,您还必须返回有效的json对象
意思是:


当angularjs试图从服务器读取结果并将其从JSON解析为javascript对象时,似乎您的服务器正在发送无效的JSON,而不仅仅是字符串
“未能生成短语”

,这使得angularjs解析崩溃

// response = SyntaxError: Unexpected token F at Object.parse (native) at fromJson
检查服务器发送的JSON(将其复制/粘贴到jsonlint.com上进行验证)


如果不是JSON,则检查您的响应的内容类型是否不是JSON。

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

// response = SyntaxError: Unexpected token F at Object.parse (native) at fromJson
检查服务器发送的JSON(将其复制/粘贴到jsonlint.com上进行验证)


如果不是JSON,那么检查您的响应的内容类型是否不是JSON。

您可以发布从服务器返回的JSON吗?问题是json只包含文本:“未能生成短语”控制台中的错误:GET 500(内部服务器错误)您可以发布从服务器返回的json吗?问题是JSON只包含文本:“未能生成短语”控制台中的错误:GET 500(内部服务器错误)我已经在尝试调试它,但response.message的值是“Unexpected token F”服务器端使用的语言/框架是什么?您可以从返回错误的服务器发布相关代码吗?json不能只包含字符串,这就是您出现解析错误的原因。这意味着问题在于服务器端是的,json无效。非常感谢你!我已经在尝试调试它,但response.message的值是“意外令牌F”,您在服务器端使用的是什么语言/框架?您可以从返回错误的服务器发布相关代码吗?json不能只包含字符串,这就是您出现解析错误的原因。这意味着问题在于服务器端是的,json无效。非常感谢你!