请教json数据怎么在Controller接收呢?

时间:2022-10-16 20:10:51
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对应的实体,接收到的值只需要拆分开来即可)。
}

7 个解决方案

#1


莫认回答呀!

#2


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<XX> X=反序例化JSON 字符串tempData;
}

#3


参考一下:http://www.cnblogs.com/mikel/archive/2011/09/13/2174803.html

#4


如果没有定义对应的json类型,那么就直接取到这个json字符串再自己反序列化吧。

另外,$.post 里要转换成 json 字符串。如下:

JSON.stringify(tempData)

 $.post(url, JSON.stringify(tempData), function (data) {
         alert(data);
     }, 'json');

#5


在view中post前,参数已经组合成Json类型了,现在的问题是在controller中用“var x = Request.Form[0];”取这个post传来的参数,得到的是“"undefined,undefined,undefined"”。Request.Form[0][1]取到到的是:“ 110 'n' ”。

请问怎么才能取到值呢?

#6


同意
引用 2 楼  的回复:
function testFun()
{
  var tempData=[{name:"wang",address:"武汉",sex:"男"},{name:"li",address:"长沙",sex:"男"},{name:"zhao",address:"

湘潭",sex:"女"},{name:"zhao",address:"湘西",sex:"女"}].ToString();
  var……

#7


将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){

#1


莫认回答呀!

#2


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<XX> X=反序例化JSON 字符串tempData;
}

#3


参考一下:http://www.cnblogs.com/mikel/archive/2011/09/13/2174803.html

#4


如果没有定义对应的json类型,那么就直接取到这个json字符串再自己反序列化吧。

另外,$.post 里要转换成 json 字符串。如下:

JSON.stringify(tempData)

 $.post(url, JSON.stringify(tempData), function (data) {
         alert(data);
     }, 'json');

#5


在view中post前,参数已经组合成Json类型了,现在的问题是在controller中用“var x = Request.Form[0];”取这个post传来的参数,得到的是“"undefined,undefined,undefined"”。Request.Form[0][1]取到到的是:“ 110 'n' ”。

请问怎么才能取到值呢?

#6


同意
引用 2 楼  的回复:
function testFun()
{
  var tempData=[{name:"wang",address:"武汉",sex:"男"},{name:"li",address:"长沙",sex:"男"},{name:"zhao",address:"

湘潭",sex:"女"},{name:"zhao",address:"湘西",sex:"女"}].ToString();
  var……

#7


将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){