2017-06-01 4 views
1

Ich bin neu mit eckigen. Ich möchte die Daten von einem Aktionsnamen (MVC) mit http erhalten.Http GET: Möglicherweise unbehandelt Ablehnung

In der Konsole I eine GET Linie aufgestellt, dann der folgende Fehler auftritt: "Möglicherweise nicht behandelte Ablehnung: ": {" data": "\ n \ r r \ n \ r \ \ n"

Mein Code in der hTML-Datei ansehen:

 [HttpGet] 
    public ActionResult OPCVMLoad() 
    { 
     OPCVM opcvm1 = new OPCVM(); 
     opcvm1.OPCVMcode = 1; 
     opcvm1.OPCVMname = "Bernardin"; 
     return Json(opcvm1, JsonRequestBehavior.AllowGet); 
    } 



<script> 

    var myApp = angular.module("myApp", []); 
    myApp.controller('OPCVMViewModel', ['$scope', '$http', function ($scope, $http) { 

     $scope.OPCVM = { 
      "OPCVMcode": "", 
      "OPCVMname": "" 
     }; 
     $scope.OPCVMs = {}; 

     $scope.TestClick = function TestClick() { 
      alert("test clic"); 
     }; 

     $scope.GetAllData = function GetAllData() { 
      alert("break point in function GetAllData"); 
      $http.get("GrilleFast/OPCVMLoad") 
       .then(function (response) 
       { 
        $scope.OPCVM = response.data; 
       }) 

     }; 

    }]); 

</script> 


<div ng-controller="OPCVMViewModel"> 
    <input name="BtnAddNew" type="button" value="Load all OPCVM" ng-click="GetAllData()" /> 
    {{OPCVM.OPCVMcode}}  <br /> 
    {{OPCVM.OPCVMname}} 




</div> 

Mein Code in der CS-Datei (Aktion MVC)

 [HttpGet] 
    public ActionResult OPCVMLoad() 
    { 
     OPCVM opcvm1 = new OPCVM(); 
     opcvm1.OPCVMcode = 1; 
     opcvm1.OPCVMname = "Bernardin"; 
     return Json(opcvm1, JsonRequestBehavior.AllowGet); 
    } 
+0

Ich denke Du hast einen Code vergessen :) – rinukkusu

+0

Bitte benutze 'angularjs' für Fragen zu AngularJS. 'eckig' ist reserviert für Winkelversion 2+ – borislemke

Antwort

1

Es ist nur eine Warnung, die Ihnen mitteilt, dass beim Rest-Aufruf ein Fehler aufgetreten ist und Sie nicht damit umgegangen sind.

Sie haben 2 Möglichkeiten, dass "Warnung" zu entfernen:

  1. Sie mit jedem Fehler umgehen:

 $http.get("GrilleFast/OPCVMLoad") 
      .then(function (response) 
      { 
       $scope.OPCVM = response.data; 
      }, function(error){ 
       console.log(error); // 
      }) ; 

  1. Wenn Sie nicht alle möglichen Fehler behandeln möchten, können Sie sie global deaktivieren:

angular.module('myApp').config(['$qProvider', function($qProvider){ 
    $qProvider.errorOnUnhandledRejections(false); 

}]); 

Ich denke, es hat mit Winkel 1.5.9 eingeführt wurde, können Sie Dokumentation darüber finden Sie hier: $qProvider

+0

danke. Ich ging zu den Änderungen und jetzt habe ich diese Nachricht in der Konsole: Objekt {data: " ...", status: 404, headers: headersGetter/<(), config: Object, statusText: " Nicht gefunden "} bedeutet es, dass mein MVC-Controller Aktion nicht gefunden wird? –

+0

Ein '404' Fehler bedeutet, dass die Ressource nicht auf dem Server gefunden wurde. Normalerweise verweisen Sie nicht auf die gute URL –

0

Es arbeitet mit

$http.get("OPCVMLoad") 

statt

$http.get("GrilleFast/OPCVMLoad") 
+0

Willkommen bei StackOverflow John ;-). Ich bezeichne diese Antwort als "keine Antwort". Für mich sieht es eher wie ein Kommentar aus und wird niemals jemandem in der Zukunft helfen, der einen Fehler haben würde wie den, den Ihr Titel beschreibt. –

+0

Vielen Dank für dieses Code-Snippet, das Ihnen sofortige Hilfe bieten kann. Eine richtige Erklärung [würde erheblich verbessern] (// meta.stackexchange.com/q/114762) ihren pädagogischen Wert, indem sie * warum * dies eine gute Lösung für das Problem ist, und es für zukünftige Leser mit ähnlichen, nützlicher machen würde, aber nicht identisch, Fragen. Bitte [bearbeiten] Sie Ihre Antwort, um eine Erläuterung hinzuzufügen und geben Sie an, welche Einschränkungen und Annahmen gelten. –

Verwandte Themen