Skip to main content
 首页 » 编程设计

jquery之如何将 JSON 对象传递给 MVC 操作参数

2026年07月28日6xing901022

我想通过

{"id":1, "name":"stackoverflow", "parameter2":false, "parameter3":true} 

我的行动

public JsonResult Action(int id, string name, bool parameter2, bool parameter3) 
{ 
    //... 
} 

使用JQueries ajax方法,使用JSON作为数据参数

$.ajax({ 
   url: "target.aspx", 
   data:  {"id":1, "name":"stackoverflow", "parameter2":false, "parameter3":true}, 
   success: handleResponse 
}); 

我可以在 fiddler 中看到我的 JSON 对象正在被发送,但它们没有绑定(bind)到我的操作参数。如何让它们绑定(bind)到参数?

我不想绑定(bind)到包含我的值的操作对象,即我不需要 Action(MyCustomObjectToAcceptParameters json) 我希望每个 JSON 属性绑定(bind)到操作的每个参数。

如果我将参数作为查询字符串传递,则一切正常,但 JSON 比一堆查询字符串值更容易构建/维护,因此我希望有一些东西可以获取我的 json 并将其绑定(bind)到我的操作中的每个参数。我不需要将复杂类型与数据成员绑定(bind),只需简单的字符串、整数和 bool 值。

请您参考如下方法:

我看到 @womp 根据我的反馈删除了他的答案,所以这里是解决方案。您可以将 JSON 对象作为 data 参数传递。请参阅here例如。

$.ajax({ 
   url: "target.aspx", 
   data: {parameter1: true, parameter2: false, parameter3: true}, 
   success: handleResponse 
 });