Отправка информации на сервер при каждом запросе от JavaScript - PullRequest
0 голосов
/ 29 апреля 2020

Я хочу отправить некоторую информацию вместе с каждым AJAX запросом на серверную сторону из моего приложения JavaScript (это может быть vanilla JS, JQuery или любая основанная на SPA инфраструктура). Мы используем JQuery для совершения AJAX звонков. Я не хочу использовать QueryString или заголовки для отправки информации на сервер . Я хочу сохранить эту информацию абстрактной от пользователя. Я думал о cook ie, но cook ie, созданный на стороне клиента с использованием JavaScript, недоступен на стороне сервера. Я также хочу уничтожить эту информацию, как только браузер будет закрыт (то есть эта информация будет указывать сеанс c).

На стороне сервера мы используем ASP. NET WPI (C#)

Как это сделать?

1 Ответ

0 голосов
/ 02 мая 2020

Вы можете установить повара ie, используя такую ​​библиотеку, как js -cook ie (или просто JS, используя document.cookie). Повар ie без max-age или с датой истечения срока действия будет сессионным поваром ie и истечет, когда пользователь закроет вкладку браузера.

Все файлы cookie автоматически отправляются на бэкэнд, если API и веб-приложение находятся в одном домене. Если ваше приложение, например, на https://www.yourdomain.com, а ваш API на https://api.yourdomain.com, это будет междоменный запрос, и отправка куки должна быть включена вручную в jQuery, используя withCredentials: true:

$.ajax({
   url: a_cross_domain_url,
   xhrFields: {
      withCredentials: true
   }
});

см. Документацию по jQuery AJAX.

(то же самое относится и к другим AJAX библиотекам, таким как axios)

Я не эксперт по C#, но здесь ссылка на документы с пример того, как получить запрос куки.

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