Обратите внимание на преобразование массива в строку в - PullRequest
0 голосов
/ 20 февраля 2019

Возникла проблема с простым запросом и возвратом значения offerID.Я продолжаю получать массив для преобразования строк, так что я немного растерялся.Я

Javascript

 $('#autocomplete').on('typeahead:selected', function (e, data) {
    console.log(data);
    var dataID = data;
    $.ajax({
      type: "POST",
      url: "get.php",
     data: $.param({itemID: dataID }),
      success: function(data) {
        console.log(data)
      }
});
})

Получить PHP FILE

<?php
require 'db.php';
if(isset($_POST['itemID'])) {

$db = new DbConnect;
$conn = $db->connect();
$str = $_POST['itemID'];
$stmt = $conn->prepare("SELECT * FROM mytable WHERE id = '$str'");

$stmt->execute();
$result= $stmt->fetchAll(PDO::FETCH_ASSOC);
echo json_encode($result);   
}
?>

1 Ответ

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

Параметр itemID обрабатывается PHP как массив:

$str = $_POST['itemID'];

Если вы наберете var_dump, вы можете увидеть, что $str - это массив.

Когда data, переданный ajax, является объектом, а одно из значений свойства является массивом, param будет сериализовать его, используя синтаксис скобок массива, который PHPавтоматически обрабатывается как массив.Например:

$.param({key: [1, 2, 3]}); // "key[]=1&key[]=2&key[]=3"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...