извлечение значения через fetch (отправка значений из javascript в php файл)

0

Я очень новичок в поиске и не знаю Ajax.

Я пытаюсь отправить данные из файла JavaScript (node.js server) в файл PHP (сервер Apache).

Я отправляю 2 значения JSON через выборки JavaScript как "a" и "b".

мой код выглядит так.

fetch('http://localhost/react_task/react-webpack-boilerplate/php/api.php', {
  method: 'post',
  body: JSON.stringify({
    a: 2,
    b: 1
  })
}) .then(function(response) {
  if (response.status >= 200 && response.status < 300) {
    return response.text()
  }
  throw new Error(response.statusText)
})
.then(function(response) {
  console.log(response);
})

Может ли кто-нибудь сказать мне, как получить значение a и b в моем PHP файле? Я работаю с react.js

  • 0
    var_dump($_POST) . если это пусто, то вам, вероятно, придется читать json из php://input
  • 0
    не могли бы вы написать в ответ .. что именно вы имеете в виду ???
Теги:
fetch

2 ответа

-2
Лучший ответ

Поскольку вы передаете кадр JSON через запрос POST, вам нужно будет расшифровать JSON, прежде чем пытаться прочитать данные в нем. Вы также должны использовать функции фильтров PHP для безопасного извлечения пользователя.

Вот пример кода (непроверенный):

<?php
$input = file_get_contents('php://input');
$input = json_decode($input);
$filtered_a = filter_var($input->a, FILTER_SANITIZE_NUMBER_INT);
$filtered_b = filter_var($input->b, FILTER_SANITIZE_NUMBER_INT);

echo "Safely received numeric inputs: a: {$filtered_a} b: {$filtered_b}";
?>

Более подробную информацию о том, как и почему использовать функции фильтра, можно найти на странице ввода документации.

  • 0
    это действительно работает человек .. он говорит "SyntaxError: неожиданный токен C в JSON в позиции 0"
  • 0
    Ваше решение, кажется, хорошо, но не работает для меня.
Показать ещё 3 комментария
-1

Вы можете получить опубликованные значения с $_POST параметра $_POST в PHP.

Для тестирования вставьте эти строки в свой api.php

if($_POST["a"]=="2" && $_POST["b"]=="1")
{
    echo "I posted 2 and 1";
}

Теперь response.text() должен вернуться, I posted 2 and 1.

  • 0
    Неопределенный индекс: a в <b> C: \ xampp \ htdocs \act_task \ реагировать-webpack -ilerplate \ php \ api.php </ b> в строке <b> 10 </ b> <br, он дает мне эту ошибку .. любое решение для этого.
  • 0
    Использование суперглобальных файлов, таких как $_POST напрямую, очень плохая практика. Используйте функции фильтра PHP.
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню