2016-07-17 103 views
-1

我有一個ajax文章,我發送JSON字符串數據,但在控制器中得到空值。在Ajax post中獲取MVC控制器中的NULL參數

AJAX調用:

var jsonData = JSON.stringify(matrixPresenter); 
     $.post("/matrix/Savematrix?matrixData=" + jsonData , function (result) { 

     }); 

這是我收到的時候我一直在jsonData我的調試器:

"{"tagList":[{"tagId":"16","name":"White","isEnable":"true"},{"tagId":"19","name":"Night","isEnable":"true"}],"captureCategoryTypeId":" 5051"}" 

,但是當我把調試器在我的控制器我看到matrixData在 空我控制器方法:

[HttpPost] 
     public ActionResult Savematrix(string matrixData) 
     { 
      if (matrixData != null) 
      { 
      //do something 
       return null; 
      } 
      else 
      { 
      //do something 
       return null; 
      } 
     } 

看起來像我在這裏失蹤一些ING。

+0

你在傳遞數據而不是jsonData嗎? – Massanu

+0

在發佈問題時發生錯誤的拼寫錯誤,糾正錯誤。Jsondata。 – Noob

+0

你爲什麼要發回'string'而不是綁定到模型? –

回答

0

我認爲您構建matrixPresenter的JSON對象的方式可能存在問題。您可以請嘗試用下面的代碼替換您的觀點:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.3/jquery.min.js"></script> 
<script type="text/javascript"> 
    $(function() { 
     $("#btnOK").click(function() { 
      var matrixPresenter = 
       { 
        tagList: 
         [ 
          { "tagId": "16", "name": "White", "isEnable": "true" }, 
          { "tagId": "19", "name": "Night", "isEnable": "true" } 
         ], 
        captureCategoryTypeId: 5051 
       }; 
      var jsonData = JSON.stringify(matrixPresenter); 
      $.post("/matrix/Savematrix?matrixData=" + jsonData, function (result) { 
      }); 
     }); 
    }); 
</script> 
<input type="button" id="btnOK" value="OK" /> 
相關問題