2013-03-25 22 views
0

我使用的是dojo 1.8.3與asp.net mvc。我陷入了一個問題。我試圖從一種形式發佈數據作爲JSON(以及我有一個特定的原因發佈爲json而不是JSON)。所以,當我發佈我在控制器端收到一個空字符串。下面是我的javascript代碼無法將數據作爲JSON使用dojo.xhrPost()在asp,net mvc4

var xhrArgs = { url: rootPath + "Home/CreateNewPattern/", 
      postData: dojo.toJson({ Name: "name1", TimeSpan: "10" }), 
      handleAs: "text", 
      headers: { "Content-Type": "application/json", "Accept": "application/json" }, 
      load: function (data) { 
       console.log("Create pattern form posted"); 
      }, 
      error: function (error) { 
       // We'll 404 in the demo, but that's okay. We don't have a 'postIt' service on the 
       // docs server. 
       alert("Error during Form posting"); 
      } 
     } 

     // Call the asynchronous xhrGet 
     var deferred = dojo.xhrPost(xhrArgs); 

我的內部控制器的操作方法是

[HttpPost] 
     public ActionResult CreateNewPattern(string newPattern) 
     { 
      Trace.WriteLine("Name of the pattern is " + newPattern); 

      return RedirectToAction("DisplayPatternManagement"); 
     } 

誰能告訴我什麼,我做錯了什麼?

回答

0

您在發佈NameTimeSpan屬性,但您的操作接受名爲newPattern的單個屬性。

這顯然是行不通的。

+0

嗨SLaks,感謝您的即時回覆。但是,你能告訴我怎樣處理一個複雜的物體。我是否需要擁有與我的對象屬性一樣多的字符串參數? – Sajan 2013-03-25 18:36:30

+0

@Sajan:不;你可以讓你的動作參加一個具有可寫屬性的類。 – SLaks 2013-03-25 18:38:26

+0

從JSON到.net的序列化是否會自動發生。我聽說它會在JQuery中發生。任何人都可以給我一個工作示例 – Sajan 2013-03-25 18:58:40