2016-04-09 18 views
0

Ich rufe eine Methode in meinem Web Api 2-Controller, Übergabe in einem Modell namens Login, die aus EmailAddress und Passwort besteht. Allerdings trifft es die Methode aber das Modell übergeben ist immer null ...Modell an Web Api 2 Methode übergeben ist Null - AngualrJs

Mein Anruf von AngularJS Funktion:

var login = { "EmailAddress": emailAddress, "Password": password }; 

    $http.post("/api/Login/", { headers: { 'RequestVerificationToken': $scope.antiForgeryToken } }, login).success(function() { 

     alert('succes'); 

    }).error(function() { 

     alert('Unable to login at present, please try again later'); 

    }); 

Meine Methode:

[ValidateAntiForgeryToken] 
    public void Post([FromBody]Login login) 
    { 
     var t = login.EmailAddress; 
    }  

Ich denke, es ist etwas mit dem zu tun Wie habe ich meine eigentliche Angular $ http.post Methode strukturiert, aber ich bin mir nicht sicher, kann jemand vorschlagen, könnte möglicherweise damit falsch sein?

Antwort

0

Können Sie Ajax und Razor verwenden?

var login = { "EmailAddress": emailAddress, "Password": password }; 
    $.ajax({ 
       url: "@Url.Action("api/login", "Controller", login)", 
       type: "GET", 
       data: {}, 
       success: fCheckBoxes 
      }); 
0

Warum nicht das Token zu jeder Anfrage Ihre app.js hinzufügen können

durch die Konfiguration
// Set header for every request 
app.factory('httpRequestInterceptor', function ($localStorage) { 
    return { 
     request: function (config) {     
      if ($localStorage.token != null) 
       config.headers['myAppToken'] = $localStorage.token; 

      return config; 
     } 
    }; 
}); 

app.config(function ($httpProvider) { 
    $httpProvider.interceptors.push('httpRequestInterceptor'); 
}); 
Verwandte Themen