ajax反序列化出错,jquery - 将AJAX发布到MVC操作时,JSON未反序列化为对象 - 堆栈内存溢出...

首先,我想就此问题尝试过大多数SO答案,但它们均未解决该问题。

通过jQuery ajax请求发布到控制器操作时出现问题。

这是我的JSON对象:

var service = {

ServiceID: $('#ServiceID').val(),

ServiceName: $('#ServiceName').val(),

ServiceActive: $('#ServiceActive').val(),

ServiceDescriptionShort: $('#ServiceDescriptionShort').val(),

ServiceDescription: $('#ServiceDescription').val()

};

这是我的课:

public class ServiceJson

{

public int ServiceID

{

get;

set;

}

public string ServiceName

{

get;

set;

}

public bool ServiceActive

{

get;

set;

}

public string ServiceDescriptionShort

{

get;

set;

}

public string ServiceDescription

{

get;

set;

}

}

这是我的动作(目前不执行任何操作,但那不是重点):

[HttpPost]

[Route("edit")]

[ValidateJsonAntiForgeryToken]

public JsonResult Edit(ServiceJson service)

{

return Json("", JsonRequestBehavior.AllowGet);

}

最后,这是我的ajax请求:

$.ajax(

{

type: 'POST',

url: '@Url.ActionWithoutData("edit", "service")',

data: JSON.stringify(service),

headers: {

"__RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val()

},

contentType: 'application/json; charset=utf-8',

dataType: 'json',

processData: false,

contentType: false,

success: function (responseData) {

$('#ServiceID').val(responseData.ServiceID);

$.snackbar({ content: 'Successfully saved.' });

},

error: function (xhr, ajaxOptions, thrownError) {

$('#errorMessage').html(xhr.responseJSON.Message);

$('#error').modal('toggle');

}

});

我的问题是此JSON对象未序列化到我的类中。 显然,名称对应。 我确信我缺少一些琐碎的东西,因为我尝试过简单的参数,例如只传递名称(当然,更改动作参数以对应于它)而没有运气。 我可以在Request对象中看到我正在接收数据,但是没有将它反序列化到我的对象中。

在浏览器中,我还可以看到该对象已正确传递。

aHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9ieE9abC5wbmc=

救命!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值