我正在尝试序列化一个敲除对象并将其传递给名为 multipleCharge 的JSON属性。
这是通过Get方法将数据发送到mvc控制器的ajax代码
$.ajax({
url: _url,
type: 'GET',
//data: { multipleCharge: ko.mapping.toJS(_vm)},
data: { multipleCharge : { AccountId : 2 } },
dataType: 'json'});
这就是方法
[HttpGet]
public HttpResponseMessage GetSalesInvoiceMultipleCharge
([FromUri]MultipleChargeDto multipleCharge)
{
...
}
请注意,ajax方法有一个注释行。使用硬编码的行,它可以工作,multipleCharge对象不是null,但是如果我取消注释另一行,那么在我的浏览器中这是一个错误的请求。
看看这个。
了解发生了什么。使用Chrome控制台,它看起来不错;所以我无法确定错误。
答案 0 :(得分:0)
可能是网址很长的IIS问题 请参阅此Issue with URL length in IIS7 (Windows Server 2008)问题和相关答案 另请参阅此http://www.iis.net/configreference/system.webserver/security/requestfiltering文档 您可以尝试通过编辑web.config来解决此问题。但是你也可以使用POST方法而不是GET,并在请求体中发送你的数据。