2016-11-30 67 views
0

我想後幾個輸入值,控制器作爲一個JSON字符串,例如只有一個方法的參數:是否有可能將json發佈到沒有jQuery的mvc控制器?

<input name="x" value=""> 
<input name="y" value=""> 

public void GetAsJson(string json) 
{ 

} 

而且沒有jQuery和默認模型綁定這樣做?

+3

jQuery只是一個關於vanilla JavaScript的包裝。沒有它,它所做的一切都是可能的。 – krillgar

+0

好的謝謝,澄清我的意思是沒有任何類型的JavaScript,只有與asp.net和HTML文章。 – dbol

+0

服務器端可以用HttpClient發佈。 – Fran

回答

0

根本不可能在沒有任何Javascript的情況下執行您所說的內容。使用JSON時,JS代表Javascript,而Javascript則需要執行Ajax調用。

這是我該怎麼做的。請記住,在C#方面你並不真正接受JSON對象,實際上你只是接受一個列表。

這裏是你想要的文章。這幾乎是一個你喜歡的字符串,不同的是,在你的AJAX調用中,你需要指定JSON.stringify和dataType:json。

public ActionResult FruitPost(List<String> Fruit) 
    { 
     return null; 
    } 

這裏是視圖:

<script src="~/Scripts/jquery-1.10.2.min.js"></script> 
<script> 
    function submitForm() { 
     var fruit = ["apple", "orange", "bananna"]; 

     jQuery.ajax({ 
      type: "POST", 
      url: "@Url.Action("FruitPost")", 
      dataType: "json", 
      contentType: "application/json; charset=utf-8", 
      data: JSON.stringify(fruit), 
      success: function (data) { alert(data); }, 
      failure: function (errMsg) { 
       alert(errMsg); 
      } 
     }); 
    } 
</script> 

<input type="button" value="Click" onclick="submitForm()"/> 

如果你是做不JQuery的Ajax調用死心塌地......我建議閱讀本:https://www.sitepoint.com/guide-vanilla-ajax-without-jquery/
這樣做之後,你可能會改變你的思想。

相關問題