【发布时间】:2016-02-23 09:26:03
【问题描述】:
我有一个可以成功发送到我的控制器操作的表单:
this.submitForm = function (e) {
var formData = $("#FinalizeForm").serialize();
$.ajax({
type: "POST",
url: '/MyController/MyMethod',
data: formData
});
我的控制器:
[HttpPost]
public void MyMethod(SomeModel model)
并且工作正常。但是,我想与表单一起发送其他数据,例如:
var test = {
name: 'Mike',
age: '40',
nationality: 'Portuguese'
}
$.ajax({
type: "POST",
url: '/MyController/MyMethod',
data: {
model: formData,
test: test
}
});
还有控制器:
[HttpPost]
public void MyMethod(SomeModel model, AnotherModel test)
但是这样一来,model 变量为空,test 变量被填充。为什么是这样?为什么以前填充模型而现在没有填充?
我测试了单独发送它,但以不同的方式:
$.ajax({
type: "POST",
url: '/MyController/MyMethod',
data: {
model: formData
}
});
但model 仍然为空。
【问题讨论】:
-
this answer 中显示的一个选项。另一种选择是按照this answer使用
FormData
标签: javascript c# ajax asp.net-mvc