Angularjs响应状态不为';行不通
我正在尝试捕获GET call的响应状态,但它不起作用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
$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无效。非常感谢你!