javascript - 删除 php 中的数组括号 - AJAX 请求

标签 javascript php ajax

当我从数据库调用查询并显示它时,我试图删除数组括号,但我得到以下结果:

  • [“标题1”]
  • [“标题2”]
  • [“标题3”]

我需要它显示如下:

  • 标题1
  • 标题2
  • 标题3

我想添加 json-encode.php可以解决这个问题,但事实并非如此。我究竟做错了什么?任何帮助表示赞赏!谢谢!

Javascript(Ajax 请求)

$(document).ready(function() {
        $.ajax({
            url: 'get.php',
        }).done(function(data){
            $('.right ul').append('<li>'+ data +'</li>');
        });
});

PHP (get.php)

<?php

$host = "localhost";
$user = "adminn";
$pass = "1234";
$db = "admin";

$con = mysqli_connect($host, $user, $pass, $db);

$query = mysqli_query($con, "SELECT DISTINCT title FROM sample_table WHERE username = 'admin' ");

// $data = str_replace(array("[\'","'\]"),'',$data);
foreach($query as $data)
{
    echo '<li>' . json_encode(array_values($data)) . '</li>';
}
?>



已解决!

我替换了

`'<li>' . json_encode(array_values($data)) . '</li>';`



'<li>' . $data['title'] . '</li>';

最佳答案

jQuery

$(document).ready(function() {
        $.ajax({
            url: 'get.php',
            dataType: 'json'
        }).done(function(data){
            $.each(data, function(i,v) {
                $('.right ul').append("<li>"+v+"</li>");
            });
        });
});

PHP

<?php

$host = "localhost";
$user = "adminn";
$pass = "1234";
$db = "admin";

$mysqli = new mysqli($host, $user, $pass, $db);

$query = "SELECT DISTINCT title FROM sample_table WHERE username = 'admin'";

if ($result = $mysqli->query($query)) {

    $response = array();

    while ($row = $result->fetch_assoc()) {
        array_push($response, $row['title']);
    }

    echo json_encode($response);

}
?>

首先,您需要在 ajax 调用中明确声明数据类型。我还注意到您错误地解析了响应并在上面进行了更改。

关于javascript - 删除 php 中的数组括号 - AJAX 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48267198/

相关文章:

php - 使用 for 循环更新表图像

php - 如何确定一个单词是英语还是任何其他语言

php - 通过AJAX获取在您的服务器上调用PHP文件的域

php - jquery ajax文件上传

php - 通过 javascript/jquery 运行 php sql 查询来隐藏条目

javascript - Google 图表刷新卡住页面/div + 内存不足

javascript - Chrome 浏览器 GCM - TOO_MANY_REGISTRATIONS - 如何取消注册/清除所有已注册的应用 ID (registration.pushManager.subscribe)

php - header 中的 Javascript 问题

javascript - Firebase.ServerValue.TIMESTAMP 在 View 中显示为 {".sv":"timestamp"} 与 .push()

JavaScript - 同步等待异步操作(休眠)