gpt4 book ai didi

javascript - PHP 和 JQuery - PHP json_encoded 2D 数组未到达 JQuery Ajax

转载 作者:行者123 更新时间:2023-12-03 11:50:04 25 4
gpt4 key购买 nike

我正在尝试创建一个演示,以从运行 SQL 查询的 PHP 脚本获取数据,获取关联的数组和 json_encodes 并将其返回到调用 php 文件中的 JQuery ajax 调用者。由于某种原因它永远不会到达(请检查 Firebug)。但如果我手动创建一个二维数组,对其进行 json_encode,它就可以正常工作。我完全困惑为什么我的数组从来没有从 SQL 中生成,但如果我手动输入它就可以了。我对结果字符串进行了比较,它们是完全相同的。

代码:

...snip...
$.ajax({
type: "GET",
url: "getclients.php",
data: { username: $('#staff_list').val() },
//contentType: "application/json",
dataType: 'json',
success: function(results) {
console.log("results");
},
fail: function() {
console.log("fail!!");
},
error: function(r, e, m) {
console.log("error");
//console.dir(r);
console.log(e + ', ' + m);
}
})
.done(function(data) {
console.log("done");
//console.log(data);
});
console.log("done with change detection...");
...snip...

PHP 文件:

<?php
header('Content-Type: application/json');
error_reporting(0); // prevents a notice from breaking ajax
//session_start();
$username = $_GET['username'];
$json = array();
$test = array(
array("id"=>4,"first_name"=>"Miles","last_name"=>"O'Brian"),
array("id"=>5,"first_name"=>"Jean Luc","last_name"=>"Picard"),
array("id"=>6,"first_name"=>"Reginald","last_name"=>"Barclay")
);

$mysqli = new mysqli('mydomain', 'myuser', 'mypassword', 'mydb');
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
if ($stmt = $mysqli->prepare("SELECT `id`, `first_name`, `last_name` FROM client WHERE provider_username = ?")) {
$stmt->bind_param('s', $username);
$stmt->execute();
$result = $stmt->get_result();


while ($row = $result->fetch_assoc()) {
$json[] = $row;
}

$result->close();
}

$mysqli->close();
echo json_encode($json);
echo json_encode($test);// this works
?>

如有任何帮助,我们将不胜感激。我是 PHP 新手,但不是编程新手,所以我尝试了我能想到的所有方法(包括手册和 Google),但我完全被难住了。

最佳答案

我找到了我的问题。我在 Ajax 中设置数据的行:

data: { username: $('#staff_list').val() }

导致了这个问题。由于某种原因它正在获取一个数组,使得该行

data: { username: $('#staff_list').val()[0] }

解决了问题。

关于javascript - PHP 和 JQuery - PHP json_encoded 2D 数组未到达 JQuery Ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25883693/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com