当我使用 jquery Ajax POST 方法对控制器进行如下操作时:
var data = {
ID: '1',
name: 'TEST',
}
$.ajax({
type: "POST",
data: JSON.stringify(data),
dataType: "json",
contentType: "application/json; charset=utf-8",
url: url,
.............
})
当使用如下字符串参数时我的后端不工作:
//C#
[HttpPost]
public bool ActionName(string ID, string name){
}
但当使用类似对象时它有效:
//C#
[HttpPost]
public bool ActionName(object data){
}
我不知道为什么在这种情况下
当动作方法有如下定义时
这意味着相应的
.ajax()
调用应该向方法传递两个不同的参数,而不是像上面的问题那样传递一个封装这两个参数的对象。因此,要调用上述方法,请尝试使用以下代码片段:
我省略了
contentType
参数并使用默认值application/x-www-form-urlencoded; charset=UTF-8
,因为参数是使用请求标头绑定的。