как пройти http ошибку 400 без удаления куки

0

У меня есть несколько файлов 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);
        }

Как я могу управлять им?

Теги:
cookies

1 ответ

0

Используйте localStorag. Или pouchDB. Поэтому 50 куки файлов на домен и 4093 байта на домен.

Зачем?

Максимальная длина URL-кода - фактический предел 2000 символов
Но ваши данные 18kb составляют 18000 байт, которые превышают 4093 байта
1 char = 2 байта, поэтому 18000/2 = 9000 символов, которые превышают максимальную длину URL-адреса

Ещё вопросы

Сообщество Overcoder
Наверх
Меню