У меня есть несколько файлов cookie на моей странице, и мне нужно сохранить их и загрузить обновление страницы. Сохранение работает нормально, но когда я пытаюсь обновиться. Я получаю "HTTP-ошибка 400. Размер заголовков запросов слишком длинный", у меня есть 7-8 файлов cookie в файлах cookie, а их суммарный размер составляет около 18 кбайт. Мне нужно сохранить объект в cookie слишком большой, и я разделил его на массив. Затем я пишу его в файл cookieStore (он работает правильно)
$scope.cookieDataSavePrepare = function(data) {
var answerArray = JSON.stringify(data).match(/(.|[\r\n]){1,2048}/g);
for (var i = 0; i < answerArray.length; i++) {
$cookieStore.put('dataPart' + i, answerArray[i]);
}
$cookieStore.put('dataPartsNumber', answerArray.length);
};
$scope.cookieDataLoadPrepare = function() {
var dataLoad = [];
for (var i = 0; i < $cookieStore.get('dataPartsNumber'); i++) {
var file = 'dataPart' + i;
dataLoad.push($cookieStore.get(file));
};
return dataLoad.join('');
};
$scope.checkData=function() {
$window.localStorage.setItem('checkData', $scope.cookieDataLoadPrepare());
}
$scope.saveTestsToCookieStore = function () {
$scope.cookieDataSavePrepare($scope.data);
$cookieStore.put('answeredQuestions',JSON.stringify($scope.answeredTests));
$cookieStore.put('questionStopped',$scope.currentQN);
}
Как я могу управлять им?
Используйте localStorag. Или pouchDB. Поэтому 50 куки файлов на домен и 4093 байта на домен.
Максимальная длина URL-кода - фактический предел 2000 символов
Но ваши данные 18kb составляют 18000 байт, которые превышают 4093 байта
1 char = 2 байта, поэтому 18000/2 = 9000 символов, которые превышают максимальную длину URL-адреса