簡體   English   中英

傳遞數據$ http.post從AngularJS和ASP.net MVC獲取null

[英]Pass Data $http.post From AngularJS and ASP.net MVC gets null

我正在嘗試將數據從AngularJS傳遞到ASP.net MVC並且始終為null。 這是我的代碼(僅發布基本,按鈕,控制器和c#:

HTML:

<a class="btn btn-grey btn-lg btn-block" ng-click="AddCar()">Save</a>

調節器

$scope.AddCar = function () {
            $http.post("Cars/AddCar", JSON.stringify($scope.new.JsonCar)).success(function (data) {
                Alert(ok)
            })

C#

public string AddCar(string JsonCar) 
        {
            try
           ....
        }

在JSON.stringify($ scope.new.JsonCar)中,我得到了這個:

“{”名稱“:”菲亞特500“,”描述“:”新車“,”MaxUserCapacity“:5,”PhotoPath“:”無“}”

我做錯了什么?

將對象直接作為對象傳遞而不是對其進行字符串化。 正如它現在正在傳遞,它是一個字符串,而不是可以正確反序列化的對象。

$http.post("Cars/AddCar", $scope.new.JsonCar).success(function (data) {
            Alert(ok)
        })

創建與您的有效負載匹配的Car對象。 序列化程序將為您處理JSON對象。

public Car AddCar(Car car) 
    {
        try
       ....
    }

我的假設是,無論如何,您將字符串反序列化為對象。 這只是為您節省了額外的一步。

刪除JSON.stringify,您的對象已經是JSON。

添加[FromBody]屬性:

 public string AddCar([FromBody]string JsonCar) 
    {
        try
       ....
    }

暫無
暫無

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

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