Tôi đang gặp lỗi này:
Yêu cầu JSON quá lớn để được giải tuần tự hóa.
Đây là một kịch bản nơi điều này xảy ra. Tôi có một lớp quốc gia chứa danh sách các cảng vận chuyển của quốc gia đó
public class Country
{
public int Id { get; set; }
public string Name { get; set; }
public List<Port> Ports { get; set; }
}
Tôi sử dụng KnockoutJS ở phía máy khách để thực hiện thả xuống tầng. Vì vậy, chúng tôi có một loạt gồm hai lần thả xuống, trong đó cái đầu tiên là quốc gia và cái thứ hai là cảng của quốc gia đó.
Mọi thứ đều hoạt động tốt cho đến nay, kịch bản phía máy khách của tôi:
var k1 = k1 || {};
$(document).ready(function () {
k1.MarketInfoItem = function (removeable) {
var self = this;
self.CountryOfLoadingId = ko.observable();
self.PortOfLoadingId = ko.observable();
self.CountryOfDestinationId = ko.observable();
self.PortOfDestinationId = ko.observable();
};
k1.viewModel = function () {
var marketInfoItems = ko.observableArray([]),
countries = ko.observableArray([]),
saveMarketInfo = function () {
var jsonData = ko.toJSON(marketInfoItems);
$.ajax({
url: 'SaveMarketInfos',
type: "POST",
data: jsonData,
datatype: "json",
contentType: "application/json charset=utf-8",
success: function (data) {
if (data) {
window.location.href = "Fin";
} else {
alert("Can not save your market information now!");
}
},
error: function (data) { alert("Can not save your contacts now!"); }
});
},
loadData = function () {
$.getJSON('../api/ListService/GetCountriesWithPorts', function (data) {
countries(data);
});
};
return {
MarketInfoItems: marketInfoItems,
Countries: countries,
LoadData: loadData,
SaveMarketInfo: saveMarketInfo,
};
} ();
Vấn đề xảy ra khi một quốc gia như Trung Quốc được chọn, nơi có rất nhiều cảng. Vì vậy, nếu bạn có 3 hoặc 4 lần "Trung Quốc" trong mảng của mình và tôi muốn gửi nó đến máy chủ để lưu. Xảy ra lỗi.
Tôi nên làm gì để khắc phục điều này?