2017-05-10 1 views
0

Je reçois l'erreur ci-dessous lorsque j'utilise une méthode 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":""} 

code HTML,

<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> 

Code angulaire,

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; 

S'il vous plaît suggérer comment effacer l'erreur.

+0

http://stackoverflow.com/a/41993170/796400 ressemble à votre question –

+0

Je reçois cette erreur maintenant – Aneez

+0

: 63502/Scripts/angularjs: 12587 GET http: // localhost: 63502/GB/api/Project/GetProject? Id = 23 – Aneez

Répondre

-1

Il me semble que le problème est cette ligne:

result = response.data; 

Êtes-vous sûr que votre objet response a un champ data en elle?

+0

J'ai un point d'arrêt à l'API mais ce point d'arrêt lui-même n'est pas atteint. objet de réponse a un champ de données – Aneez

1

Dans la fonction $ http.get(), le premier paramètre gère la résolution réussie de la promesse et le deuxième paramètre à la fonction gère l'erreur lorsque la promesse est rejetée.

Selon la documentation,

gère qProvider $ si vous souhaitez générer une erreur lors d'une promesse rejetée n'est pas traitée. Cette fonction est activée par défaut.

https://docs.angularjs.org/api/ng/provider/$qProvider

Essayez fournissant une mise en œuvre vierge d'une fonction pour gérer l'erreur.

$http.get('api/Project/GetProject', { params: t }) 
     .then(function (response) { 
      result = response.data; 
      var c; 
      $scope.project.title = result.ProjectTitle; 
      },function(){ 
     }); 

Ou tout simplement remplacer la valeur des errorOnUnhandledRejections false dans la configuration de l'application.

app.config(['$qProvider', function ($qProvider) { 
    $qProvider.errorOnUnhandledRejections(false); 
}]);