Получить массив в PHP с помощью Ajax - PullRequest
0 голосов
/ 04 февраля 2019

Мне нужно отправить array с помощью Ajax в сценарий PHP .

Javascript:

$.ajax({
    type: "POST",
    url: "vendas_funcoes.php",
    data: {"data": arrayItens},
    success: function(msg){
        console.log("ok");
    }
});

Я уже пытался использовать приведенный ниже пример, но он не работает.

vendas_funcoes.php:

<?php
    $data = stripslashes($_POST);

    // usar foreach para ler o array
    foreach($data as $d){
        echo $d;
    }
?>

Как мне получить это array im мой PHP скрипт для манипулирования им?По-видимому, приведенный ниже код отправляет array пусто.

Извините за возможные грамматические ошибки, я бразилец.

Ответы [ 3 ]

0 голосов
/ 04 февраля 2019

$_POST['data'] содержит ваши данные, потому что вы отправляете ключ как data в

data: {"data": arrayItens}, 

. Лучше провести некоторые проверки работоспособности и затем обработать данные.

if(isset($_POST['data'])  && !empty($_POST['data'])){
  // business logic

}
0 голосов
/ 04 февраля 2019

PHP считывает ваши данные POST в массив $_POST, поэтому вы можете получить исходный массив, прочитав $_POST['data']

Javascript:

$.ajax({
    type: "POST",
    url: "vendas_funcoes.php",
    data: {"data": arrayItens},
    success: function(msg){
        console.log("ok");
    }
});

PHP:

<?php
    $data = $_POST['data'];

    // usar foreach para ler o array
    foreach($data as $d){
        echo $d;
    }
?>

Совет. Если вы сделаете print_r(arr) или var_dump(arr) для своего массива, вы сможете легко увидеть структуру своего массива и найти эффективный способ манипулированияэто.

0 голосов
/ 04 февраля 2019

Ваш $data является объектом.Вам нужно использовать $data["data"], чтобы получить массив.

Ваш фактический $data - это то, что вы отправляете по почте {"data": arrayItens}.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...