我正在使用 KnockoutJS 的映射插件将我的模型转换为 Knockout 对象。但是我在将大型 json 对象发送回服务器时遇到问题。我的 ajax 调用如下所示:
$.ajax({
url: "/home/DoStuff",
type: "POST",
data: JSON.stringify({ deal: ko.toJS(myObjectViewModel) }),
contentType: "application/json",
dataType: "json",
success: function (result) {
console.log(result);
},
error: function (xhr, status, message) {
console.log(xhr);
}
});
执行此脚本永远不会触发DoStuff
控制器中的操作。当我用 Firebug 进行检查时,POST 一直在旋转。在 Firebug 的 Net 选项卡中,它显示 Post Body 为 159.9 KB,Total Sent 为 165.1 KB(包括标题)。如果已发送,为什么它没有在代码中达到我的断点?
但是,当我只发送 的属性时myObjectViewModel
,它可以正常发布并且一切都成功了。所以这让我假设问题出在发布的数据的大小上。所以我尝试增加maxJsonLength。
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="2147483644"></jsonSerialization>
</webServices>
</scripting>
</system.web.extensions>
这没有帮助。
还有什么我应该做的吗?