注意数组到字符串的转换

时间:2019-02-19 23:08:14

标签: javascript php ajax

遇到一个问题,只需查询并返回suggestID值即可。 我一直在将Array转换为字符串,所以我有点迷路。我是

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文件

<?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 :(得分:1)

PHP将itemID参数视为一个数组:

$str = $_POST['itemID'];

如果要var_dump,您可能会看到$str是一个数组。

当传递给ajaxdata是一个对象并且属性值之一是一个数组时,param将使用数组括号语法对其进行序列化,PHP自动将其视为数组。例如:

$.param({key: [1, 2, 3]}); // "key[]=1&key[]=2&key[]=3"