使用http get方法时出现以下错误。
:63502/Scripts/angular.js:14525 Possibly unhandled rejection: {"data":null,"status":-1,"config":{"method":"GET","transformRequest":[null],"transformResponse":[null],"jsonpCallbackParam":"callback","params":{"id":"23"},"url":"api/Project/GetProject","headers":{"Accept":"application/json, text/plain, */*"}},"statusText":""}
HTML code,
<div class="row pb-20px text-center">
<label class="col-sm-2 lb-date" for="projid">Project ID</label>
<input type="text" id="projid" class="col-sm-2" ng-model="project.id" />
<div style="padding-left:10px;">
<button type="submit" class="btn btn-primary col-sm-2" ng-click="ProjSearch()">Submit</button>
</div>
</div>
Angular code,
var myView = angular.module('myView', []);
myView.controller('ViewCtrl', ['$scope', '$http', '$filter', function ($scope, $http, $filter) {
$scope.ProjSearch = function () {
debugger;
t = {
'id': $scope.project.id
};
var r = $http.get('api/Project/GetProject', { params: t })
.then(function (response) {
result = response.data;
var c;
$scope.project.title = result.ProjectTitle;
请建议如何清除错误。
答案 0 :(得分:1)
在$ http.get()函数中,第一个参数处理promise的成功解析,而函数的第二个参数在promise被拒绝时处理错误。
根据文件,
$ qProvider处理被拒绝时是否生成错误 承诺没有得到处理。默认情况下启用此功能。
https://docs.angularjs.org/api/ng/provider/$qProvider
尝试提供函数的空白实现来处理错误。
$http.get('api/Project/GetProject', { params: t })
.then(function (response) {
result = response.data;
var c;
$scope.project.title = result.ProjectTitle;
},function(){
});
或者只是在应用程序的配置中将errorOnUnhandledRejections的值覆盖为false。
app.config(['$qProvider', function ($qProvider) {
$qProvider.errorOnUnhandledRejections(false);
}]);
答案 1 :(得分:-1)
在我看来问题就在这一行:
result = response.data;
您确定response
对象中包含data
字段吗?