我想通过
{"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
});
