发布http请求时,我无法在错误函数回调中捕获http错误。
这是客户端:
$http.post('/updateBuildings',
$.param(
{'element_id': element_id}
)).success(function(data) {
tmp.GetBuildings(data.new_building_id);
}).error(function(data) {
console.log('response: ',data);
});
};
服务器端故意返回http错误:状态代码:401,msg:"抱歉,访问 否认&#34。
浏览器(谷歌浏览器)会自行写入日志(请参阅附件),但我无法捕获角度错误并为用户显示警报。
有什么想法吗?
由于
答案 0 :(得分:1)
我在使用success
和error
方面遇到了问题:他们在承诺链接和错误方面的表现并不像我预期的那样。虽然我不确定这是否会发生什么,但我建议不要使用success
和error
,但要使用标准承诺then
/ catch
函数。
$http.post('/updateBuildings', $.param({
'element_id': element_id
})).then(function(response) {
return tmp.GetBuildings(response.data.new_building_id);
}).catch(function(error) {
console.log('response: ', error.data);
});