我用ajax发送了一个表单,但在我的控制器中我没有值,我的值是null
我有一个表格(大表格),当我提交时,我调用方法 test()
function test(rubricId) {
var data = $('#r6_FormEditServiceParameters').serialize();
$.ajax({
url: $('#r6_FormEditServiceParameters').attr('data-ajax-url'),
dataType: "application/json",
data: data,
type: "POST",
proccessData: false, // this is true by default
success: function (ret) { }
});
}
我的数据不为空。
你有什么想法吗?
First:您在
processData
选项中存在拼写错误。应正确拼写为 processData
,而不是 proccessData
。
第二:当您使用
AJAX
发送数据时,您还应该指定发送数据的内容类型。由于您正在序列化表单,因此应将 contentType
选项设置为 application/x-www-form-urlencoded
。
第三:确保控制器中的
ParameterRubicModel
具有与您正在序列化的表单字段的名称相匹配的属性。模型绑定过程依赖于将表单字段名称与模型属性相匹配。
更新代码:
function test(rubricId) {
var data = $('#r6_FormEditServiceParameters').serialize();
$.ajax({
url: $('#r6_FormEditServiceParameters').attr('data-ajax-url'),
dataType: "json",
data: data,
type: "POST",
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
processData: false,
success: function (ret) {
// Handle success
}
});
}