Почему, когда токен приложения хранится в локальном хранилище, а заголовок все еще не заполнен? - PullRequest
0 голосов
/ 20 июня 2020

сначала я отправляю API в конечную точку «api / app-token» «API не нуждается в заголовке», после чего ответ от «api / app-token» сохраняется в локальном хранилище с приложением - ключ токена, после сохранения его в локальном хранилище я беру приложение - затем я устанавливаю токен в заголовок, чтобы опубликовать другую конечную точку API, для которой требуется заголовок, проблема в том, что заголовок не может получить данные из локального хранилища, поэтому другая конечная точка не может быть доступна поскольку заголовок не был заполнен токенами приложений, которые находятся в локальном хранилище, я пытаюсь перехитрить его, принудительно переводя токен приложения в состояние при загрузке статистики, а затем делаю обновление страницы sh "window.location.reload () ", но почему функция не работает? или есть более эффективный способ?

В основном есть 2 конечные точки, первая конечная точка «api / app-token» не нуждается в заголовке, вторая конечная точка требует заголовка, и заголовок должен быть заполнен с токенами приложений, которые я установил в localstorage

, это пример сообщения ax ios для получения токена приложения

const [getAppToken, setgetAppToken] = useState({})
  const [company, setCompany] = useState({
    company_name: 'fevci',
    comp_key: 'fevci123'
  })

  useEffect(() => {
    const getAppToken = async () => {
      const res = await axios({
        method: 'post',
        url: endpoint + 'api/app_token',
        data: company,
      })
      
      const { data: appToken, success } = res.data

      if (success === true) {
        storage.setItem('app-token', JSON.stringify(appToken))
      } else {
        storage.removeItem('app-token')
      }

      return res
    }
    getAppToken()
  }, [])

, и это пример ax ios, который имеет заголовок при условии, что заголовок был заполнен токенами приложения

export const api = axios.create({
  baseURL: endpoint,
  headers: {
    'app-token': (storage.getItem('app-token') !== null) ? JSON.parse(storage.getItem('app-token')) : null,
    'Authorization': (storage.getItem('token') !== null) ? JSON.parse(storage.getItem('token')) : null,
    'content-type': 'multipart/form-data'
  }
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...