关于网友提出的“ 请教json数据怎么在Controller接收呢?”问题疑问,本网通过在网上对“ 请教json数据怎么在Controller接收呢?”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 请教json数据怎么在Controller接收呢?
描述: view有
function testFun()
{
var tempData=[{name:"wang",address:"武汉",sex:"男"},{name:"li",address:"长沙",sex:"男"},{name:"zhao",address:"
湘潭",sex:"女"},{name:"zhao",address:"湘西",sex:"女"}];
var url="../../Home/Index";
$.post(url,tempData,function(data){
alert(data);
})
}
Home Controller里:
Public ActionResult Index(FormCollection formData)
{
//怎么接收view传来的值呢? (没有view中tempData对应的实体,接收到的值只需要拆分开来即可)。
}
解决方案1: 参考一下:http://www.cnblogs.com/mikel/archive/2011/09/13/2174803.html
解决方案2: 将JSON转成一个字符串通过后台反序例化实现
var tempData=[{name:"wang",address:"武汉",sex:"男"},{name:"li",address:"长沙",sex:"男"},{name:"zhao",address:"
湘潭",sex:"女"},{name:"zhao",address:"湘西",sex:"女"}].ToString();
$.post(url,{tempData:tempData},function(data){
解决方案3: 如果没有定义对应的json类型,那么就直接取到这个json字符串再自己反序列化吧。
另外,$.post 里要转换成 json 字符串。如下:
JSON.stringify(tempData)
$.post(url, JSON.stringify(tempData), function (data) {
alert(data);
}, 'json');
解决方案4: function testFun()
{
var tempData=[{name:"wang",address:"武汉",sex:"男"},{name:"li",address:"长沙",sex:"男"},{name:"zhao",address:"
湘潭",sex:"女"},{name:"zhao",address:"湘西",sex:"女"}].ToString();
var url="../../Home/Index";
$.post(url,{tempData:tempData},function(data){
alert(data);
})
}
Public ActionResult Index(sring tempData)
{
List X=反序例化JSON 字符串tempData;
}
以上介绍了“ 请教json数据怎么在Controller接收呢?”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2056291.html