Как установить cookie со значениями из URL до загрузки js - PullRequest
2 голосов
/ 24 сентября 2019

У меня есть проект Laravel, и я использую реакцию на него, у меня есть требование, где мне нужно глубоко связать страницу с кодом страны, ссылка содержит код страны, который позже отправляется со стороны клиента в заголовкеполучить больше информации от API.Проблема в том, что когда я получаю код страны и устанавливаю cookie, анализируя URL в моем основном шаблоне блэйда, куда включены все мои скрипты и таблицы стилей, мой компонент реагирует на вызов API до того, как cookie установлен.Я попытался установить cookie в контроллере, но это не имеет значения.

Как мне справиться с этим?Любая помощь будет оценена.

Ответы [ 2 ]

2 голосов
/ 24 сентября 2019

Вы можете установить скрипт в теге head как его первый дочерний элемент, например:


<div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
<div class="snippet-code">
<pre class="snippet-code-html lang-html prettyprint-override"><code><html>
  <head>
    <script>
      var query = location.search
      var country = getCountry(query) // Implement this method yourself
      setCookie(country) // Implement this method yourself
    </script>
  </head>
  <body>
    
  </body>
</html>

Скрипт будет выполнен перед загрузкой другого ресурса.

0 голосов
/ 24 сентября 2019

Вы должны поделиться своим кодом, чтобы получить лучшую помощь, но есть способ использовать обратные вызовы. Вы должны установить свой cookie и написать обратный вызов, чтобы он вызывал api (обратные вызовы запускаются, когда ваше основное действие полностью завершено).Вы можете прочитать больше в этих ссылках

Об обратных вызовах в реакции

Асинхронные вызовы также могут помочь вам

Надеюсь, что этипомочь вам

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