2016-11-30 29 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/
这样做之后,你可能会改变你的思想。

相关问题