Почему React (включая Redux) не может отправить POST-запрос на сервер PHP?

Как устранить ошибку «Undefined array key» при отправке POST-запроса от React к PHP через fetch или axios?
  • 2 мая 2024 г. 20:40
Ответы на вопрос 2
React (включая Redux) не может напрямую отправлять POST-запросы на сервер PHP из-за того, что React - это браузерный JavaScript фреймворк, который работает на стороне клиента (frontend), в то время как PHP - это серверный язык программирования, который работает на стороне сервера (backend). Для отправки POST-запросов на сервер PHP из React необходимо использовать AJAX-запросы с помощью fetch или axios.

Ошибка "Undefined array key" возникает, когда в PHP скрипте пытаются обратиться к элементу массива, который не существует. Для исправления этой ошибки при отправке POST-запроса от React к PHP нужно убедиться, что данные отправляются в правильном формате и что внутри PHP скрипта обрабатываются все переданные параметры.

Например, если вы используете fetch для отправки POST-запроса, то можно передать данные в формате JSON и обработать их в PHP с помощью функции json_decode:

```javascript
fetch('http://example.com/server.php', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({ key1: 'value1', key2: 'value2' })
})
```

А в PHP скрипте обработать переданные данные следующим образом:

```php
$data = json_decode(file_get_contents("php://input"), true);
$key1 = $data['key1'];
$key2 = $data['key2'];
```

Таким образом, следует убедиться, что данные правильно передаются из React в PHP и что в PHP скрипте правильно обрабатываются эти данные.
Undefined array key "perem" on line 49


$perem = $data['perem'];
- вот тут у тебя нет в массиве data (а это переданный массив POST) нужной переменной.

Пропиши
var_dump($data);
exit;

перед
$perem = $data['perem'];
например и посмотри что там в принципе лежит (если будешь дергать из браузера то надо смотреть в разделе network response)
Похожие вопросы