Как использовать AJAX для передачи массивов в PHP? - PullRequest
0 голосов
/ 12 февраля 2020

У меня есть массив (выбранный), в котором хранятся отмеченные галочками значения. Я создал и заполнил этот массив, используя javascript. Однако при использовании AJAX для передачи этого массива на мою страницу PHP я получаю сообщение об ошибке (неопределенный индекс: kvcArray). Я знаю, что массив не пустой, так как я использовал функцию оповещения, чтобы убедиться, что он заполнен. Любой совет, как это исправить? Я приложу свой код HTML / JavaScript вместе с кодом PHP.

function getInterests() {

  var selected = new Array();

  var contentfilms = document.getElementById("content");
  var chks = contentfilms.getElementsByTagName("INPUT");

  // Loop and push the checked CheckBox value in Array.
  for (var i = 0; i < chks.length; i++) {
    if (chks[i].checked) {
      selected.push(chks[i].value);
    }
  }

  alert(selected);
  var myJSONText = JSON.stringify(selected);
  alert(myJSONText);
  $.ajax({
    type: "POST",
    url: "./test2.php",
    dataType: 'json',
    data: {
      'kvcArray': myJSONText
    },
    success: function() {
      alert("Success");
    }
  });

}
<head>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
  <link href="carousel.css" rel="stylesheet">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
  <script src="//code.jquery.com/jquery-1.12.0.min.js"></script>
  <script type="text/javascript" src="ajax.js"></script>
</head>
<script type="text/javascript">
</script>


// PHP RETRIVAL CODE
<?php
$myArray = $_POST['kvcArray'];
print_r($myArray);
?>

1 Ответ

0 голосов
/ 14 февраля 2020

вы должны использовать json_decode () для перехода от строки к массиву в php

 <?php
 $myArray = json_decode($_POST['kvcArray']);
 print_r($myArray);
 ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...