如何通过json发布发布多个数据?

时间:2011-11-08 12:10:28

标签: jquery asp.net-mvc json

var post = { "ID":1 };

var step = [1,2,3,4,5];

post.step = step;

console.log(post)

$.ajax({
    url:'rss/test',
    type:'POST',
    data:post
})

-

 public JsonResult Test(int ID, IEnumerable<string> step)
 {
     return Json(true);
 }

我想通过JSON发布它,我该怎么做?当我试图这样做时,我发现这不起作用。该步骤不起作用(或发布)

将其设置为

后,

更新

var post  = {
"ID":1,
step:[{'Name':'first'},{'Name':'second'}]
}

$.post("/rss/test",post,function(){
});

public JsonResult Test(int ID, IEnumerable<string> step)
        {
            return Json(true);
        }

我觉得它有效,但我得到了结果

step
Count = 2
    [0]: null
    [1]: null

立即进入窗口。

所以我希望我朝着正确的方向前进,但两件事都是空的。现在有人可以帮助我让他们工作。

感谢

2 个答案:

答案 0 :(得分:1)

服务器上的数据类型与您从客户端发送的对象不匹配。试试这个。

public class Post
{
    public int ID { get; set; }
    public IEnumerable<string> Step { get; set; } 
}

然后在您的控制器中

[HttpPost]
public JsonResult Test(Post post)
{

}

你必须检查它,但没有编译它。

要发布您必须正确设置数据类型的数据:

$.ajax({
  url:'rss/test',
  type:'POST',
  dataType: "json",
  contentType: "application/json",
  data:post
})

答案 1 :(得分:0)

尝试添加traditional参数

$.ajax({
    url:'rss/test',
    type:'POST',
    data:post,
    traditional: true
})