В моем приложении я вызываю API с типом POST, используя функцию jquery $ .ajax. Когда данные большие, это усеченная часть данных. Но когда я отправляю те же данные с помощью POSTMAN, тогда он работает нормально, и сервер получает полный запрос. Проблема приходит только тогда, когда я вызываю API в JavaScript с использованием Jquery. Мое приложение встроено в Электрон. Ниже приведен код для вызова API:
$.ajax({
async: false,
type: "POST",
url: 'API_URL_HERE',
headers: {
'Accept': 'application/json',
'Authorization': authToken,
},
data: {
var1: "123456789",
var2: 10,
var3: {
'var3_data': array_containing_strings,
'var3_version': 20
},
var4: 80,
var5: "123456789"
},
success: function (data) {
// Some operation here
},
error: function (xhr, ajaxOptions, thrownError) {
// Some operation here
}
});
Я переименовал имена переменных. Проблема в переменной array_conisting_strings . Это массив, который содержит строки. Когда array_conisting_strings содержит так много строк, сервер не получает var4 и var5 переменных. Я попытался с массивом длиной 13000, в то время как каждый элемент массива является строкой длиной 400 символов (поэтому размер = 13000 * 400 = 5200000). Как ни странно, данные, отправляемые на сервер, имеют допустимый формат JSON, в запросе отсутствуют только переменные. Еще одна странная вещь: когда я открываю вкладку сети в консоли разработчика, она показывает полные данные в сетевом вызове, единственный сервер не получает их. Конфигурация сервера также не является проблемой, поскольку тот же вызов API с теми же данными работает нормально при использовании Postman.