PHP / Ax ios - правильно форматирующий объект электронной почты для передачи PHP почтовой программе - PullRequest
0 голосов
/ 29 мая 2020

На стороне PHP, каков правильный синтаксис для получения всех пар ключ => значение из объекта ax ios, отправляемого в простую PHP почтовую программу?

My ojbect:

let post = {
  message: this.message, // string
  email: this.email, // string
  links: this.links // array of objects { name: item.name, id: item.id }
};
axios.post('/mail.php', JSON.stringify(post)).then(() => { ... });

В моей почтовой программе я делаю так:

$_POST = json_decode(array_keys($_POST)[0], true);

if (isset($_POST['message'])) {
    $body = $_POST['message'];
}
if (isset($_POST['email'])) {
    $email = $_POST['email'];
}
if (isset($_POST['links'])) {
    $links = $_POST['links'];
}

Но это не все ... Я предполагаю из-за [0], но если я удалить жалобы [0] json_decode. (Я еще не очень хорошо разбираюсь в PHP).

Я бы хотел любить , чтобы вары назначались следующим образом:

$message = json_decode(array_keys($_POST)[0], true);
$email = json_decode(array_keys($_POST)[1], true);
$links = json_decode(array_keys($_POST)[2], true);

Но это тоже не работает.

1 Ответ

0 голосов
/ 29 мая 2020

Я удалил строку из сообщения ax ios, а затем в почтовой программе PHP, которую я использовал:

if (isset($_POST)) {
  $data = json_decode(file_get_contents('php://input'), true);
}

if (isset($data['email'])) {
  $to = $data['email'];
}

if (isset($data['message'])) {
  $body = $data['message'];
}

if (isset($data['links'])) {
  $to = $data['links'];
}

...