я пытаюсь выучить React
путем воспроизведения простого CRUD page
Я создал ранее.
Старый CRUD page
был Javascript/jQuery front-end with a form
, Он отправил данные через AJAX to a PHP backend page
и PHP page interacted with a mySQL/mariaDB database
,
Все было локально размещено на моем компьютере на XAMPP Apache
и все работало нормально.
Теперь мне удалось скопировать интерфейс с помощью React
, с помощью Create React App
и он работает на localhost:3000
Я сейчас застрял. Я не знаю, как сделать мой интерфейс (на localhost:3000
) отправить данные через AJAX
на мой конец PHP page
(на localhost:80
работает на XAMPP Apache
)
Нас много PHP / mariaDB
печатает там, кто хочет продолжать использовать этот суб-стек в качестве нашего бэкэнда. Ответы на этот вопрос будут чрезвычайно полезны для поощрения нашей публики попробовать Create React App and React
(Я люблю React
Кстати!). (Я был удивлен, что когда я искал [создать-реагировать-приложение] [php] в StackOverflow, Я получил только 2 хита.)
Обновить: если это не по теме для SO, то я буду признателен за предложения о том, на какой SE я должен опубликовать это … спасибо!
Отвечая на мой собственный вопрос.
Основной проблемой является одна из CORS (обмен ресурсами между источниками). Одна ошибка (в консоли Chrome):
В запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin».
В течение только разработка, эту проблему легко решить, добавив эту строку кода в начало PHP
файл:
<?php
header("Access-Control-Allow-Origin: *");
Этот код никогда не следует оставлять в производстве, если вы не согласны с тем, что кто-то в мире имеет доступ к PHP
Файловый API.
В реальном производстве этого приложения React можно ожидать, что JavaScript
и PHP
файлы будут совместно использовать один и тот же домен, поэтому не будет CORS
вопрос.
Других решений пока нет …