MVC Ajax Post 错误
MVC Ajax Post error
我在 post Ajax 请求控制器方法时遇到错误。在控制器方法中,我需要传递 Model class 对象。
但它给了我 500 个内部服务器错误。
谁能帮我改正一下?
Mu代码如下:
jQuery:
var request = $("#frmHost").serialize();
$.ajax({
url: "/Host/HostItemDetails/" ,
type: "POST",
datatype: 'json',
contentType : "application/json",
data: request,
success: function (data) {
if (data == '1111') {
///Success code here
}
else if (data != '') {
jAlert(data);
}
}
});
Controller Method :
[HttpPost]
public JsonResult HostItemDetails(ClsHost objHost)
{
//Code here
return Json("1111");
}
我 运行 与您的代码相同 运行。
为了测试代码,我做了以下更改。我拿了一个按钮,在点击事件上我将 post 发送回控制器。
'[HttpPost]' 属性也很好。
你能确定一件事吗,frmHost 数据与 class ClsHost 匹配,但仍然不会导致服务器错误,错误会有所不同。
$(document).ready(function () {
$("#clickMe").click(function () {
var request = '{"Users":[{"Name":"user999","Value":"test"},{"Name":"test2","Value":"test"}]}';
$.ajax({
url: "/Home/HostItemDetails/",
type: "POST",
datatype: 'json',
contentType: "application/json",
data: request,
success: function (data) {
if (data == '1111') {
///Success code here
}
else if (data != '') {
jAlert(data);
}
}
});
});
});
控制器:
[HttpPost]
[ValidateAntiForgeryToken]
public JsonResult HostItemDetails(ClsHost objHost)
{
//Code here
return Json("111", JsonRequestBehavior.AllowGet);
}
Nirav 试试这个,
将序列化数据解析为 JSON 对象,然后在发布时使用 JSON.stringify() 对其进行字符串化。
$("#Button").click(function () {
var data = $("#frmHost").serialize().split("&");
var request = {};
for (var key in data) {
request[data[key].split("=")[0]] = data[key].split("=")[1];
}
$.ajax({
url: "/Home/HostItemDetails/",
type: "POST",
datatype: 'json',
contentType: "application/json",
data: JSON.stringify(request),
success: function (data) {
if (data == '1111') {
///Success code here
}
else if (data != '') {
jAlert(data);
}
}
});
});
通过删除模型 class 中相同的 属性 名称即可解决。被我误加了两次
我在 post Ajax 请求控制器方法时遇到错误。在控制器方法中,我需要传递 Model class 对象。 但它给了我 500 个内部服务器错误。 谁能帮我改正一下?
Mu代码如下:
jQuery:
var request = $("#frmHost").serialize();
$.ajax({
url: "/Host/HostItemDetails/" ,
type: "POST",
datatype: 'json',
contentType : "application/json",
data: request,
success: function (data) {
if (data == '1111') {
///Success code here
}
else if (data != '') {
jAlert(data);
}
}
});
Controller Method :
[HttpPost]
public JsonResult HostItemDetails(ClsHost objHost)
{
//Code here
return Json("1111");
}
我 运行 与您的代码相同 运行。 为了测试代码,我做了以下更改。我拿了一个按钮,在点击事件上我将 post 发送回控制器。 '[HttpPost]' 属性也很好。
你能确定一件事吗,frmHost 数据与 class ClsHost 匹配,但仍然不会导致服务器错误,错误会有所不同。
$(document).ready(function () {
$("#clickMe").click(function () {
var request = '{"Users":[{"Name":"user999","Value":"test"},{"Name":"test2","Value":"test"}]}';
$.ajax({
url: "/Home/HostItemDetails/",
type: "POST",
datatype: 'json',
contentType: "application/json",
data: request,
success: function (data) {
if (data == '1111') {
///Success code here
}
else if (data != '') {
jAlert(data);
}
}
});
});
});
控制器:
[HttpPost]
[ValidateAntiForgeryToken]
public JsonResult HostItemDetails(ClsHost objHost)
{
//Code here
return Json("111", JsonRequestBehavior.AllowGet);
}
Nirav 试试这个,
将序列化数据解析为 JSON 对象,然后在发布时使用 JSON.stringify() 对其进行字符串化。
$("#Button").click(function () {
var data = $("#frmHost").serialize().split("&");
var request = {};
for (var key in data) {
request[data[key].split("=")[0]] = data[key].split("=")[1];
}
$.ajax({
url: "/Home/HostItemDetails/",
type: "POST",
datatype: 'json',
contentType: "application/json",
data: JSON.stringify(request),
success: function (data) {
if (data == '1111') {
///Success code here
}
else if (data != '') {
jAlert(data);
}
}
});
});
通过删除模型 class 中相同的 属性 名称即可解决。被我误加了两次