Я создаю простое приложение для получения иконок и названий фирм с одного сайта. У меня уже есть этот проект с JQuery, и теперь я пытаюсь изучить React и сделать то же самое в нем.
Первая часть этого проекта — это форма с вводом ico и имени. При отправке он создает почтовый запрос в файл php, который проверяет, находятся ли вставленные значения в базе данных или нет, и если да, то проверяет, не младше ли они одного месяца. После этого он возвращает строки из базы данных или с веб-сайта (с веб-сайта это актуально).
Но у меня небольшая проблема. Я не могу создать почтовый запрос с помощью React, потому что эта ошибка: Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://192.168.0.52:80/backend/backend.php. (Reason: header ‘access-control-allow-origin’ is not allowed according to header ‘Access-Control-Allow-Headers’ from CORS preflight response).
У меня WampServer работает на 80-м порту, где находится мой файл backend.php и еще один каталог с приложением React. В WampServer есть headers_module, который включен, а в файле php — заголовок header('Access-Control-Allow-Origin: *');
. В запросе на отправку axios я включаю "Access-Control-Allow-Origin": "*"
тоже. Кто-нибудь знает, как это исправить? Я не могу понять.
Вот мой фрагмент кода Axios:
const options = {
headers: {
"Access-Control-Allow-Origin": "*",
"Content-Type": "application/json",
}
};
axios.post("http://192.168.0.52:80/backend/backend.php", {
ico: this.state.ico,
name: this.state.name,
searchFirm: true
}, options)
.then((response) => {
}, (error) => {
});
А вот и фрагмент из php файла:
<?php
header('Access-Control-Allow-Origin: *');
require_once "DbConnect.php";
echo "ahoj";
...
http://192.168.0.52:80/backend/backend.php в браузере работает нормально.