Аксиос поставить не происходит бросать запрещено

  • Я новичок в Axios.
    • Я пытаюсь обновить свой API через запрос на размещение. Но я получаю ошибку ниже. ОПЦИИ http: // t / Sports / 1 403 (Запрещено)
    • Я исследовал так много сайтов на предмет аксиомов, но все еще не могу исправить проблему
    • подскажите, как это исправить.
    • предоставляя мой фрагмент кода ниже
<div className = {classes.SportsEditTabContentFooter}>

    <div>Sports Status</div>
    <div>
        <Button variant = "outlined" className = {classes.button}>
        Cancel
                </Button>
        <Button variant = "outlined" onClick = {this.saveSports} className = {classes.button}>
        Save Sports test
                </Button>
    </div>
</div>

  saveSports = () => {
    console.info("saveSports---->");
    console.info(this.state.Sports);
    let saveSports = this.state.Sports;
    saveSports.updatedBy = 'raj';
    saveSports.priceRuleDescription = "test description";

    axios
      .put(
      'http://t/Sports/' + saveSports.SportsID,
      saveSports,
      { headers: { 'Content-Type': 'application/json' } }
      )
      .then(r => console.info(r))
      .catch(e => console.info(e));

    //this.toggleDrawer("right", false);
    this.setState({ right: false });
    this.setState({ snackBarOpen: true });
    setTimeout(() => {
      this.setState({ snackBarOpen: false });
    }, 6000)
  };
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
554
1

Ответы 1

Поскольку вы пытаетесь связаться с другим доменом из-за CORS, браузер автоматически отправляет запрос OPTIONS. А серверная часть этого не ожидает, поэтому по какой-то причине возвращает 403.

Имея это в виду, ваша потребность

  1. либо измените код клиента, чтобы сделать запрос простой
  2. поместите свой клиентский код для запуска в том же домене, где работает серверная часть
  3. запустите прокси-сервер CORS как тот же домен, где размещен клиентский код - поскольку OPTIONS, или предварительный запрос, отправляется только браузером, ваш код, скажем, в Node, не требует этого
  4. обновить целевой серверный код, чтобы правильно обрабатывать предварительный запрос OPTIONS

Для решения вашего вопроса достаточно каждого варианта. Но решать, что удобнее в вашем случае, решать вам.

PS на всякий случай: нет, нет способа избежать отправки запроса OPTIONS перед полетом, настроив axios, заменив axios другим пакетом, вызовом fetch() или собственным XmlHttpRequest или любым другим простым изменением в вашем клиентском коде, поскольку это фундаментально (безопасность!) особенность современных веб-браузеров

у вас есть демо, куда я могу сослаться?

user10509524 25.11.2018 02:31

Другие вопросы по теме