我正在进行$ http调用,在调用之后,我收到了错误响应 要在视图上显示,我可以在控制台日志中看到错误消息,但它 没有在视图上显示。 我将$ scope上的错误消息分配给变量并进行插值 在视图上相同
以下是$ http电话的服务部分
Error Info:
Array
(
[0] => 42P07
[1] => 7
[2] => ERROR: relation "migration" already exists
)
以下是控制器部分
userService.getUser = function(searchByNum){
var q = $q.defer();
$http({
method:'GET',
url :'http://localhost:8083/simpro1/helloRest/user/'+searchByNum
}).success(function(response){
userService.user=response;
q.resolve(response);
}).error(function(error){
userService.errors = error;
q.reject(error);
})
return q.promise;
}
在上面的错误块中,将消息分配给变量$ scope.errMessages 但在视图上没有更新相同,但我可以看到错误消息 在控制台上。
有人可以帮我这个....
下面是{{errMessages}}变量
的视图$scope.getDetails = function(searchByNum){
userService.getUser(searchByNum)
.then(function(res){
console.log(res);
},function(error){
**$scope.errMessages = userService.errors.errMessage;**
})
}
答案 0 :(得分:0)
您在成功函数中使用 private EditText outputResult;
outputResult = (EditText)findViewById(R.id.display);
String enteredInput = outputResult.getText().toString();
int end = outputResult.getSelectionEnd();
if(enteredInput.length() > 0){
String beforeCursor= enteredInput.substring(0, end-1);
String afterCursor= enteredInput.substring(end,enteredInput.length());
enteredInput= beforeCursor+afterCursor;
outputResult.setText(enteredInput);
,在错误函数中使用console.log
。 $scope.errMessages
将执行(如果promise成功解析)或console.log
变量将被设置(如果它拒绝)。
请注意,变量只会设置如果承诺拒绝且,则userService.errors的值不是未定义。
那说,为什么要直接将变量分配给 userService.errors ?只需在拒绝中发送该数据,然后在 .then()错误函数中进行分配。
答案 1 :(得分:-1)
使用{"para1":[1,2,3],"para2":[1,2,3]}
打印错误,这可能会启动新的摘要周期。
$timeout
将此行放入错误块中。并且不要忘记添加$ timeout作为依赖