2015-10-16 54 views
0

我有一個有幾個屬性的對象(A),其中一個是其他類型的列表(B)。傳遞給WEb API時在JSON中丟失值操作

我有一個Web API操作,它將一個A對象作爲參數。

我只是測試,我可以通過通過JSON兒子這個目標我有一些JavaScript一個WebForm就可以瞭如下.......

var tmpData = { 
     lid: "f8fdb980-ccb8-4a54-9b83-b73dd2d569ca", 
     aid: "8f6efc68-d747-42a4-b7d4-218951b66a97", 
     bid: "e9f5e5d2-5d3d-41ac-89dc-7586ec2a5286", 
     ps: [] 
    }; 
    tmpData['ps'].push({ "cid": "5a664dcc-8281-41f1-b81c-ae49499e12b8", "d": 5, "q": 2 }); 
    tmpData['ps'].push({ "cid": "4e9a30e0-c741-4708-88d7-8db4941c17cc", "d": 10, "q": 2 }); 

    var myJSON = JSON.stringify(tmpData); 

    //Call the action to get the list in JSON format 
    url = "http://localhost:64878/home/TakeTestBasketAddItemsRequest"; 
    $.ajax({ 
     url: url, 
     type: 'POST', 
     cache: false, 
     data: myJSON, 
     success: function (resultantData) { 
      var s = resultantData; 
      pResults.innerHTML = s; 
     } 
    }); 

這得到的動作OK和對象在「ps」屬性中有2個項目。 但是,這兩個項目中的值會丟失,而我剩下的是零/未初始化的值。

我是否失去了列表項的值?

爲了清楚起見 - 這裏是我的行動也。

[HttpPost] 
    public ActionResult TakeTestBasketAddItemsRequest(ECodeBasketRequest model) 
    { 
     try 
     { 
      var sb = new StringBuilder(); 
      sb.AppendLine(String.Format("LocationBridgeId: {0}{1}", model.lid, Environment.NewLine)); 
      sb.AppendLine(String.Format("ApplicationBridgeId: {0}{1}", model.aid, Environment.NewLine)); 
      sb.AppendLine(String.Format("BasketId: {0}{1}", model.bid, Environment.NewLine)); 
      foreach (var p in model.ps) 
      { 
       sb.AppendLine(String.Format("CategoryBridgeId: {2} Denomination: {0} Quantity: {1}{3}", p.d, p.q, p.cid, Environment.NewLine)); 
      } 
      return Content(sb.ToString()); 
     } 
     catch (Exception ex) 
     { 
      return Content(string.Format("Problem: {0}", ex.ToString())); 
     } 
    } 

正如我所說,我只是在測試,所以很想深入到底。謝謝advace, 螞蟻

+0

這是我從什麼回來行動..... LocationBridgeId:f8fdb980-ccb8-4a54-9b83-b73dd2d569ca ApplicationBridgeId:8f6efc68-d747-42a4-b7d4-218951b66a97 BasketId:e9f5e5d2-5d3d-41AC-89dc-7586ec2a5286 CategoryBridgeId:00000000-0000 -0000-0000-000000000000面額:0數量:0 類別英里數:00000000-0000-0000-0000-000000000000面額:0數量:0 – AntDC

回答

0

所有的道歉 - 但似乎我忽略,則內容類型.... 的contentType:「應用/ JSON」

這是誤導,當一些物體被reconstruucted OK,其餘是不是....但嘿浩 - 這是週五,它的工作..

以及希望它會幫助別人....... 所以我現在發現,這個作品.....

$.ajax({ 
     url: url, 
     type: 'POST', 
     cache: false, 
     **contentType: "application/json",** 
     data: myJSON, 
     success: function (resultantData) { 
      var s = resultantData; 
      pResults.innerHTML = s; 
     } 
相關問題