因此,过去几天我一直在寻找各种来源来回答我的问题,但没有发现任何对我有用的信息。我将在序言中进一步说,关于 PHP 和 Javascript,我一周前就开始学习它们。我也知道可能会有更好的方法来格式化/编写我将要发布的代码,所以请耐心等待! :)
本质上,我尝试将页面名称 play.php 与 AJAX 结合使用,将 MYSQL 查询回显到某些页面元素内的页面上。
main.js 的代码直接链接到 play.php。我尝试了在各种答案中看到的三种不同的方式,但没有得到我想要的信息。我要么没有得到回应,要么在所有这些中都未定义。
function selectChar(uname, cname)
{
var data = {
username : uname,
charname : cname
};
$.ajax({
data : data,
type : 'Get',
url : 'start.php',
dataType:"json",
success : function (result) {
var data_character = JSON.parse(result);
var cnamediv = document.getElementById('charactername');
cnamediv.innerHTML = "";
cnamediv.innerHTML = data_character[0].name;
}
});
}
上面是我最常看到的,下面是我今天早些时候发现的。当我尝试调用数组时,我得到了未定义的信息。
function selectChar(uname, cname)
{
$.get("start.php?username="+uname+"&charname="+cname).done(function(data_character){
var cnamediv = document.getElementById('charactername');
cnamediv.innerHTML = "";
cnamediv.innerHTML = data_character[0].name;
});
}
最后是查询数据库并回显数据的 PHP 代码。
<?php
$conn = new mysqli($hostname,$username,$dbpassword, $dbname);
if(!$conn) {
die('Could not connect: ' . mysql_error());
}
$username = $_GET['username'];
$charname = $_GET['charname'];
$sql = "SELECT `id`, `username` FROM `users` WHERE `username` ='$username'";
$result = mysqli_query($conn,$sql);
//Send the array back as a JSON object
echo json_encode($result);
?>
我并不是在寻找有人为我工作,但我确实需要一些指导。使这项工作有效的适当方法是什么?我的代码是不是非常错误?我是否完全忽略了这一点?拜托,我真的非常感谢有人能给我的任何帮助!
附注我刚刚完成了对其他几个类似问题的审查,但这些问题似乎都没有帮助。要么从来没有一个关于什么对他们有效的结论性结果,要么当我尝试时该解决方案不起作用。
最佳答案
试试这个:
php 获取帖子并返回 json_encode
if(!$conn) {
die('Could not connect: ' . mysql_error());
}
$username = $_POST['username'];
$charname = $_POST['charname'];
$sql = "SELECT `id`, `username` FROM `users` WHERE `username` ='$username'";
$result = mysqli_query($conn,$sql);
$rows = array();
while($r = mysqli_fetch_assoc($result)) {
$rows[] = $r;
}
//Send the array back as a JSON object
echo json_encode($rows);
?>
JS ajax响应和请求
$.ajax({
data : data,
type : 'POST',
url : 'start.php',
dataType:"json",
success : function (result) {
console.log(result);
document.getElementById('charactername').innerHTML = result[0].username;
}
});
关于javascript - 使用AJAX onclick函数返回PHP Mysql查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42237156/