Этот вопрос может показаться очень простым для тех, кто использует Yii2 API и React Js. Я новичок в сочетании этой технологии.
У меня есть API Yii2 с поведением, настроенным, как показано здесь
public $serializer = [
'class' => 'yii\rest\Serializer',
'collectionEnvelope' => 'items',
];
public static function allowedDomains()
{
return [
'*' // star allows all domains
'http://localhost:3000',
];
}
public function behaviors()
{
return array_merge(parent::behaviors(), [
// For cross-domain AJAX request
'corsFilter' => [
'class' => \yii\filters\Cors::className(),
'cors' => [
// restrict access to domains:
'Origin'=> static::allowedDomains(),
'Access-Control-Request-Method' => ['POST','GET','PUT','OPTIONS'],
'Access-Control-Allow-Credentials' => false,
'Access-Control-Max-Age' => 3600,// Cache (seconds)
'Access-Control-Request-Headers' => ['*'],
'Access-Control-Allow-Origin' => false,
],
],
]);
}
когда я использую запрос на выборку к этому API с помощью GET, он работает отлично и возвращает данные в мой интерфейс реагирования.
Теперь я пытаюсь реализовать регистрацию в своем приложении, где мне нужно отправлять данные из моего интерфейса с помощью POST в мой API. (Я реализовал свое действие регистрации, и оно хорошо работает с почтальоном.) Когда я пытаюсь Отправьте запрос на публикацию к этому API, я получаю ошибку (отсутствует заголовок CORS «Access-Control-Allow-Origin») на моей консоли. Ниже приведен мой запрос Reactjs, и я действительно не знаю, чего мне не хватает. Любая помощь в этом вопросе будет принята с благодарностью.
//this function is to save data to the API
saveUser = (user) => {
fetch(URL_SIGNUPUSER, {
method: 'post',
mode: "cors",
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
//'Access-Control-Allow-Credentials': "*"
},
body: JSON.stringify({
name:user.name,
username:user.username,
email:user.email,
password:user.password,
})
}).then(res=>res.json())
.then(()=>{
this.setState({
user: { name:'',
username:'',
email:'',
password:'',
confirm_password:'',
},
success:true,
error:false
})
});
}
Подробнее здесь: https://stackoverflow.com/questions/524 ... s-frontend
Ошибка CORS при использовании API Yii2 и интерфейса ReactJS ⇐ Php
Кемеровские программисты php общаются здесь
-
Anonymous
1720071661
Anonymous
Этот вопрос может показаться очень простым для тех, кто использует Yii2 API и React Js. Я новичок в сочетании этой технологии.
У меня есть API Yii2 с поведением, настроенным, как показано здесь
public $serializer = [
'class' => 'yii\rest\Serializer',
'collectionEnvelope' => 'items',
];
public static function allowedDomains()
{
return [
'*' // star allows all domains
'http://localhost:3000',
];
}
public function behaviors()
{
return array_merge(parent::behaviors(), [
// For cross-domain AJAX request
'corsFilter' => [
'class' => \yii\filters\Cors::className(),
'cors' => [
// restrict access to domains:
'Origin'=> static::allowedDomains(),
'Access-Control-Request-Method' => ['POST','GET','PUT','OPTIONS'],
'Access-Control-Allow-Credentials' => false,
'Access-Control-Max-Age' => 3600,// Cache (seconds)
'Access-Control-Request-Headers' => ['*'],
'Access-Control-Allow-Origin' => false,
],
],
]);
}
когда я использую запрос на выборку к этому API с помощью GET, он работает отлично и возвращает данные в мой интерфейс реагирования.
Теперь я пытаюсь реализовать регистрацию в своем приложении, где мне нужно отправлять данные из моего интерфейса с помощью POST в мой API. (Я реализовал свое действие регистрации, и оно хорошо работает с почтальоном.) Когда я пытаюсь Отправьте запрос на публикацию к этому API, я получаю ошибку (отсутствует заголовок CORS «Access-Control-Allow-Origin») на моей консоли. Ниже приведен мой запрос Reactjs, и я действительно не знаю, чего мне не хватает. Любая помощь в этом вопросе будет принята с благодарностью.
//this function is to save data to the API
saveUser = (user) => {
fetch(URL_SIGNUPUSER, {
method: 'post',
mode: "cors",
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
//'Access-Control-Allow-Credentials': "*"
},
body: JSON.stringify({
name:user.name,
username:user.username,
email:user.email,
password:user.password,
})
}).then(res=>res.json())
.then(()=>{
this.setState({
user: { name:'',
username:'',
email:'',
password:'',
confirm_password:'',
},
success:true,
error:false
})
});
}
Подробнее здесь: [url]https://stackoverflow.com/questions/52448623/cors-error-using-yii2-api-and-reactjs-frontend[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия