簡體   English   中英

將$ http.get()方法中的$ scope.object傳遞給asp.net web api

[英]pass $scope.object in $http.get() method to asp.net web api

我正在做我的第一個angularsjs-asp.net web api項目。 我正在嘗試將一個$scope.user對象發送到asp.net web api,如下所示 -

AngularJS控制器代碼 -

    $scope.user = {};
    $scope.navbarCollapsed = true;
    $scope.save = function () {
          $http.get('/api/Login', $scope.user).
             success(function (data, status, headers, config) {
                 $window.location.href = 'app/views/dashboard.html';

             }).
             error(function (data, status, headers, config) {
             alert(status);    
      });      
}

ASP.NET Web API代碼:

public class LoginController : ApiController
{
    public HttpResponseMessage get( LoginUser user) //user is shown null
    {

    }
}

user在服務器端顯示為null。 有幫助嗎?

UPDATE ----------------

public class LoginUser
{
    public String LoginName { get; set; }

    public String LoginPassword { get; set; }
}

由於WebApi的復雜數據通常在請求正文中發送,因此您必須指定信息在URL中編碼:

public HttpResponseMessage get([FromUri]LoginUser user)
{

}

並按如下方式發送用戶:

$http.get('/api/Login',
    {
        'params': $scope.user
    });

但是,當您發送登錄信息時,我建議切換到另一個HTTP動詞,如POST

UPDATE

以下是POST動詞的示例:

public HttpResponseMessage post(LoginUser user)
{

}
$http.post('/api/Login', $scope.user);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM