Express JS редирект с заголовками - PullRequest
0 голосов
/ 12 февраля 2020

Использование express JS Я пытаюсь добавить некоторые заголовки к перенаправлению, которое я возвращаю. Однако все, что я пробовал, работает только для заголовков ответа, а не для заголовков запроса перенаправления. IE, проверяя его с помощью инструментов разработчика, я вижу заголовки ответа, но при следующем вызове я не вижу заголовки запроса

req.headers['x-custom-header'] = 'value'
res.setHeader('x-custom-header', 'value')    
res.redirect('example.com')

Кто-нибудь может объяснить, как работают заголовки ответа и запроса? на ExpressJS?

1 Ответ

1 голос
/ 12 февраля 2020

Редирект просто выполняет редирект. Он сообщает браузеру go о том новом месте со стандартными нестандартными заголовками. Вы не можете установить пользовательские заголовки на следующий запрос после перенаправления. Браузер просто не делает этого.

Обычный способ передать некоторые типы параметров в перенаправлении - это поместить их в строку запроса для URL перенаправления или, в некоторых случаях, поместить в готовить ie. В обоих случаях параметры строки запроса и данные в файле cook ie будут доступны вашему серверу, когда браузер отправит вам запрос на перенаправленный URL-адрес.

Возможно, стоит еще раз узнать, почему вы ' перенаправление во-первых, и, возможно, существует другой поток данных / URL, который не нужно перенаправлять в первую очередь. Нам нужно было бы знать намного больше о том, что именно эта операция пытается выполнить sh, чтобы делать предложения там.

Если ваш запрос обрабатывается вызовом Ajax, то вы можете запрограммировать код, получающий результаты вызова Ajax для выполнения всего, что вы хотите (включая добавление пользовательских заголовков), но если браузер обрабатывает перенаправление и изменяет URL-адрес страницы для загрузки новой страницы, он не будет платить внимание к пользовательским заголовкам в ответе на перенаправление.

Кто-нибудь может объяснить, как работают заголовки ответа и запроса на ExpressJS?

Express именно то, что вы сказали это делать. Он прикрепляет пользовательские заголовки к ответу, который возвращается в браузер. Это браузер, который не присоединяет те же самые заголовки к следующему запросу к перенаправленному URL. Так что это не Express, а браузер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...