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
立即进入窗口。
所以我希望我朝着正确的方向前进,但两件事都是空的。现在有人可以帮助我让他们工作。
感谢
答案 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
})