मुझे यह त्रुटि मिल रही है:
JSON अनुरोध को बहुत बड़ा किया जा सकता था।
यहाँ एक परिदृश्य है जहाँ यह होता है। मेरे पास देश का एक वर्ग है जो उस देश के शिपिंग पोर्ट की एक सूची रखता है
public class Country
{
public int Id { get; set; }
public string Name { get; set; }
public List<Port> Ports { get; set; }
}
मैं ग्राहक की ओर से नॉचआउट जेएस का उपयोग करता हूं ताकि कैस्केडिंग ड्रॉप डाउन हो सके। इसलिए हमारे पास दो ड्रॉप डाउन की एक सरणी है, जहां पहला देश है, और दूसरा उस देश का बंदरगाह है।
अब तक सब कुछ ठीक चल रहा है, यह मेरा क्लाइंट साइड स्क्रिप्ट है:
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,
};
} ();
समस्या तब होती है जब चीन जैसा देश चुना जाता है, जिसमें बहुत सारे बंदरगाह होते हैं। इसलिए यदि आपके सरणी में आपके पास 3 या 4 बार "चीन" है और मैं इसे सहेजने के लिए सर्वर पर भेजना चाहता हूं। त्रुटि तब होती है।
इसका उपाय करने के लिए मुझे क्या करना चाहिए?