2017-02-03 6 views
0

この質問が以前に尋ねられたことは知っていますが、私は他の回答を見てきましたが、問題を解決できないようです。私は角度のjsと$ http.Getを使用するときにnullオブジェクトサーバー側を受け取り続けます。誰かが何が欠けているのか、何が間違っていたのかを見つけ出すことができますASP.NET MVC + Angular.js 1 HttpGet jsonオブジェクトがサーバー上でヌルです

マイ角度:

module.controller("albumReviewController", function ($http, $scope) { 
    var albumID = $(".ui-albumID").find("input").val(); 
    $http(
    { 
     method: 'Get', 
     url: 'api/AlbumAPI/GetTotalAlbumRatings', 
     data: { albumid: albumID } 
     }).then(function successCallback(response) { 
      $scope.totalRating = response.data; 
     }), function errorCallback(response) { 
      window.console.log(response); 
     }; 
    }; 
}); 

と私のAPIコントローラ:

[HttpGet("GetTotalAlbumRatings")] 
[Route("api/AlbumAPI/GetTotalAlbumRatings/{model}")] 
public JsonResult GetTotalAlbumRatings([FromBody]RatingAngularViewModel model) 
    { 
     // do stuff 
    } 

とモデル:

public class RatingAngularViewModel 
{ 
    public string AlbumID { get; set; } 

    public RatingAngularViewModel() 
    { 
    } 
} 

私はいくつかの値を取得するためのGETリクエストを送信しようとしています私のモデルは常にnullです。

+0

APiコントローラの 'Route'は私には疑わしいと思われます。しかし、より興味深いのは、あなたが 'albumID'を取得するために角度を使用していないことです。あなたは' albumid'をあなたのサーバーに渡していますが、あなたのモデルは 'AlbumID'を期待しているようです... ... – Claies

+0

ええ、 APIコントローラのルートが間違っていて、これが原因かもしれません。アルバムIDをアルバムIDに変更しましたが、まだヌルです:( – lachis

答えて

0

私は以下の変更を加えて機能しました。角度で

public JsonResult GetTotalAlbumRatings([FromUri]RatingAngularViewModel model) 
    { 
     // do stuff 
    } 

:私のコントローラ(除去ルート属性)に

module.controller("albumReviewController", function ($http, $scope) { 
var albumID = $(".ui-albumID").find("input").val(); 
$http(
{ 
    method: 'Get', 
    url: 'api/AlbumAPI/GetTotalAlbumRatings', 
    params: { AlbumID: albumID } 
    }).then(function successCallback(response) { 
     $scope.totalRating = response.data; 
    }), function errorCallback(response) { 
     window.console.log(response); 
    }; 
}; 

})。

これは、私がhttpGetで 'data'を使用していたために起こっていました。ここをクリックしてください: https://stackoverflow.com/a/13760360/2589445

関連する問題