尝试使用 jquery ajax 保存数据时出现查询字符串错误?
Query String error when trying to save the data using jquery ajax?
ASP.NET MVC4 || C#
我有一个 MenuRole 页面,它显示来自 database.Users 的菜单列表必须 select 来自 page.All 的角色和相应的菜单运行良好,但是当我尝试保存时我收到以下错误的数据。
'The request filtering module is configured to deny a request where the query string is too long'
。我使用 jquery ajax
来保存细节,我发现参数作为查询字符串从视图传递到控制器,我认为这不是一个理想的场景。
这是在表单中使用 jquery ajax 时传递数据的默认行为吗?
如何解决这个问题?
错误信息
请求URL
JQuery ajax 保存详情
$("#btnSubmit").click(function () {
var formData = $('#frmRoles').serialize();
$.ajax({
type: "POST",
url: "@Url.Action("Add","MenuSettings")",
data: formData,
datatype: "json",
success: function (data) {
toastr.success(data.message)
},
error: function (data) {
toastr.error(data.message);
}
});
})
查询字符串表示您进行了 GET 调用(并且超出了查询字符串限制)。假设您的按钮是一个提交按钮,那么您同时进行了正常提交(表单方法必须是 FormMethod.Get
)和 ajax post.
要防止默认提交,请将 return false;
添加到脚本末尾
$("#btnSubmit").click(function () {
var formData = $('#frmRoles').serialize();
$.ajax({
....
});
return false; // add this
})
ASP.NET MVC4 || C#
我有一个 MenuRole 页面,它显示来自 database.Users 的菜单列表必须 select 来自 page.All 的角色和相应的菜单运行良好,但是当我尝试保存时我收到以下错误的数据。
'The request filtering module is configured to deny a request where the query string is too long'
。我使用 jquery ajax
来保存细节,我发现参数作为查询字符串从视图传递到控制器,我认为这不是一个理想的场景。
这是在表单中使用 jquery ajax 时传递数据的默认行为吗?
如何解决这个问题?
错误信息
请求URL
JQuery ajax 保存详情
$("#btnSubmit").click(function () {
var formData = $('#frmRoles').serialize();
$.ajax({
type: "POST",
url: "@Url.Action("Add","MenuSettings")",
data: formData,
datatype: "json",
success: function (data) {
toastr.success(data.message)
},
error: function (data) {
toastr.error(data.message);
}
});
})
查询字符串表示您进行了 GET 调用(并且超出了查询字符串限制)。假设您的按钮是一个提交按钮,那么您同时进行了正常提交(表单方法必须是 FormMethod.Get
)和 ajax post.
要防止默认提交,请将 return false;
添加到脚本末尾
$("#btnSubmit").click(function () {
var formData = $('#frmRoles').serialize();
$.ajax({
....
});
return false; // add this
})