即使存在 JsonResult 方法也找不到页面
Page not found even when JsonResult method is present
我在 MVC 应用程序中工作,在调用 JsonResult 时出现 404 错误 AJAXly
我的要求:
http://localhost:60890/ED/Document/GetGroupDocumentMergedPath?groupDocuments=%5B%7B%22GroupDocumentId%22%3A1314%2C%22TemplateId%22%3A212%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A149%2C%22TemplateId%22%3A208%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A570%2C%22TemplateId%22%3A210%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A198%2C%22TemplateId%22%3A209%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A90%2C%22TemplateId%22%3A201%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A119%2C%22TemplateId%22%3A206%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A2431%2C%22TemplateId%22%3A217%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A1004%2C%22TemplateId%22%3A211%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A1686%2C%22TemplateId%22%3A213%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A2076%2C%22TemplateId%22%3A215%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A2469%2C%22TemplateId%22%3A302%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A5140%2C%22TemplateId%22%3A220%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A5020%2C%22TemplateId%22%3A221%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A5105%2C%22TemplateId%22%3A222%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A5066%2C%22TemplateId%22%3A223%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A4039%2C%22TemplateId%22%3A225%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A4159%2C%22TemplateId%22%3A235%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A4283%2C%22TemplateId%22%3A245%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A4343%2C%22TemplateId%22%3A249%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A4399%2C%22TemplateId%22%3A250%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A4463%2C%22TemplateId%22%3A252%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A4856%2C%22TemplateId%22%3A256%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A4906%2C%22TemplateId%22%3A257%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A4956%2C%22TemplateId%22%3A258%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A2499%2C%22TemplateId%22%3A215%2C%22GroupDocumentType%22%3A0%7D%5D&actionType=715&_=1456902108180
控制器:
[HttpGet]
public JsonResult GetGroupDocumentMergedPath(string groupDocuments, int actionType){}
AJAX 调用:
$.ajax({
url: '/ED/Document/GetGroupDocumentMergedPath',
type: "GET",
data: { groupDocuments: JSON.stringify(groupDocuments), actionType: 715 },
beforeSend: function () {
},
success: function (data) {
//Business logic
},
complete: function () {
checkedIds = {};
ToggleDisabled("print", false);
}
});
场景:
在 AJAX 调用中,我发送的列表平均包含 20 个具有三个属性的对象。
我的查询字符串长度超过允许的长度导致错误或我哪里出错了?
不要在单个字符串中传递多个详细信息。您必须创建一个 ViewModel 并传递给 Data 中模型的 serializeObject。所以通过 AJAX 将数据传递给 Method.
是安全且好的方法
如果你想从表单控件传递数据,那么序列化表单并传递它AJAX。
请查看以下示例。
Ajax 通话
$.fn.serializeObject = function () {
var o = {};
var a = this.serializeArray();
$.each(a, function () {
if (o[this.name] !== undefined) {
if (!o[this.name].push) {
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
};
form = $('#groupDocuments').serializeObject(); // groupDocuments is form Id
var data = JSON.stringify({ model: form });
$.ajax({
url: '/ED/Document/GetGroupDocumentMergedPath',
type: "GET",
data: data,
beforeSend: function () {
},
success: function (data) {
//Business logic
},
complete: function () {
checkedIds = {};
ToggleDisabled("print", false);
}
});
JasonResult 方法
[HttpPost]
public JsonResult GetGroupDocumentMergedPath(GroupDocumentViewModel model)
{
// Your Code here
}
查看模型
public class GroupDocumentViewModel
{
//All your property which you passing from view to controller via AJAX
}
我在 MVC 应用程序中工作,在调用 JsonResult 时出现 404 错误 AJAXly
我的要求:
http://localhost:60890/ED/Document/GetGroupDocumentMergedPath?groupDocuments=%5B%7B%22GroupDocumentId%22%3A1314%2C%22TemplateId%22%3A212%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A149%2C%22TemplateId%22%3A208%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A570%2C%22TemplateId%22%3A210%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A198%2C%22TemplateId%22%3A209%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A90%2C%22TemplateId%22%3A201%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A119%2C%22TemplateId%22%3A206%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A2431%2C%22TemplateId%22%3A217%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A1004%2C%22TemplateId%22%3A211%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A1686%2C%22TemplateId%22%3A213%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A2076%2C%22TemplateId%22%3A215%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A2469%2C%22TemplateId%22%3A302%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A5140%2C%22TemplateId%22%3A220%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A5020%2C%22TemplateId%22%3A221%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A5105%2C%22TemplateId%22%3A222%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A5066%2C%22TemplateId%22%3A223%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A4039%2C%22TemplateId%22%3A225%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A4159%2C%22TemplateId%22%3A235%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A4283%2C%22TemplateId%22%3A245%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A4343%2C%22TemplateId%22%3A249%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A4399%2C%22TemplateId%22%3A250%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A4463%2C%22TemplateId%22%3A252%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A4856%2C%22TemplateId%22%3A256%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A4906%2C%22TemplateId%22%3A257%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A4956%2C%22TemplateId%22%3A258%2C%22GroupDocumentType%22%3A0%7D%2C%7B%22GroupDocumentId%22%3A2499%2C%22TemplateId%22%3A215%2C%22GroupDocumentType%22%3A0%7D%5D&actionType=715&_=1456902108180
控制器:
[HttpGet]
public JsonResult GetGroupDocumentMergedPath(string groupDocuments, int actionType){}
AJAX 调用:
$.ajax({
url: '/ED/Document/GetGroupDocumentMergedPath',
type: "GET",
data: { groupDocuments: JSON.stringify(groupDocuments), actionType: 715 },
beforeSend: function () {
},
success: function (data) {
//Business logic
},
complete: function () {
checkedIds = {};
ToggleDisabled("print", false);
}
});
场景:
在 AJAX 调用中,我发送的列表平均包含 20 个具有三个属性的对象。
我的查询字符串长度超过允许的长度导致错误或我哪里出错了?
不要在单个字符串中传递多个详细信息。您必须创建一个 ViewModel 并传递给 Data 中模型的 serializeObject。所以通过 AJAX 将数据传递给 Method.
是安全且好的方法如果你想从表单控件传递数据,那么序列化表单并传递它AJAX。
请查看以下示例。 Ajax 通话
$.fn.serializeObject = function () {
var o = {};
var a = this.serializeArray();
$.each(a, function () {
if (o[this.name] !== undefined) {
if (!o[this.name].push) {
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
};
form = $('#groupDocuments').serializeObject(); // groupDocuments is form Id
var data = JSON.stringify({ model: form });
$.ajax({
url: '/ED/Document/GetGroupDocumentMergedPath',
type: "GET",
data: data,
beforeSend: function () {
},
success: function (data) {
//Business logic
},
complete: function () {
checkedIds = {};
ToggleDisabled("print", false);
}
});
JasonResult 方法
[HttpPost]
public JsonResult GetGroupDocumentMergedPath(GroupDocumentViewModel model)
{
// Your Code here
}
查看模型
public class GroupDocumentViewModel
{
//All your property which you passing from view to controller via AJAX
}