javascript – 从ajax获取数据到mvc操作
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 从ajax获取数据到mvc操作,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1962字,纯文字阅读大概需要3分钟。
内容图文
我想从ajax调用发送对象数组到控制器动作.
在后端方面,我有
容器类:
public class MyContainer
{
public string Id { get; set; }
public Filter[] Filters { get; set; }
}
public class Filter
{
public string Name { get; set; }
public string[] Values { get; set; }
}
和行动:
public ActionResult MyAction(MyContainer container)
{
var id = container.Id;
foreach(Filter filter in container.Filters)
{
//Do something
}
}
在前端我有
$(document).on('click', 'mySelector', function (event) {
//Create first object
var firstIds = {};
firstIds.Name = "Custom Name 1";
firstIds.Values = GetIds('param1'); //this return an array of strings
//Create second object
var secondIds = {};
secondIds.Name = "Custome Name 2";
secondIds.Values = GetIds('param2'); //another array
var Id = $(this).attr('id'); //id of element
//Add objects to array
var filters = [];
filters.push(firstIds);
filters.push(secondIds);
$.ajax({
method: "GET",
url: baseUrl+"/MyAction",
//traditional: true, //I tried with and without that parameter
data:
{
Id: Id,
Filters: filters
},
contentType: 'application/json',
success: function (res) {
alert('success')
}
});
});
因此,如果我在顶部的示例中使用它,则action-object in action具有Id值并且在Filters中具有2个元素的数组,但是它们都具有Name和Values为null.
传统的设置为True,我得到了container.Id设置但是container.Filters = null.
有什么建议吗?
谢谢.
解决方法:
将POST请求与JSON.stringify()方法结合使用.
C#
[HttpPost]
public ActionResult MyAction(MyContainer container)
{
var id = container.Id;
foreach(Filter filter in container.Filters)
{
//Do something
}
}
JQUERY
$.ajax({
method: "POST",
url: baseUrl+"/MyAction",
data:JSON.stringify(
{
Id: Id,
Filters: filters
}),
contentType: 'application/json',
success: function (res) {
alert('success')
}
});
为什么需要JSON.stringify()方法?
contentType是您要发送的数据类型,因此application / json;默认为application / x-www-form-urlencoded;字符集= UTF-8.
如果使用application / json,则必须使用JSON.stringify()才能发送JSON对象.
JSON.stringify()将javascript对象转换为json文本并将其存储在字符串中.
内容总结
以上是互联网集市为您收集整理的javascript – 从ajax获取数据到mvc操作全部内容,希望文章能够帮你解决javascript – 从ajax获取数据到mvc操作所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。