if(isset($_POST["search"]) && isset($_SESSION['username'])){
$database = new Database;
$connection = $database -> connect();
$sql = "SELECT surname, name, street, streetNumber FROM customers";
if(!$req = $connection -> prepare($sql)){
echo "e001";
}else{
$req -> execute();
$res = $req -> get_result();
$json = array();
while($row= $res -> fetch_assoc()){
$json['customers:'] = $row;
}
print json_encode($json);
$req -> close();
$database -> disconnect($connection);
}
}
据我所知,这段代码与堆栈溢出时的代码非常相似。
所以我不明白为什么当我通过AJAX请求并查看Chrome调试中的网络选项卡时,我不会得到回复。
一切正常,所有脚本都在运行,我没有任何错误,只是一个空的响应。
编辑: 哦,我试过,我用数据从数据库中获取数据,通过没有json_encode()的回显尝试,这样就不会出现问题。
编辑:当被问及JS代码时,由于我在浏览器中查看响应,因此对响应没有任何作用。
function loadCustomers() {
$.ajax({
url: 'scripts/backend/customers.php',
type: 'post',
data: {
'search': "Schramm"
},
dataType: "json",
success: function(response, status) {},
error: function(xhr, desc, err) {
console.log(xhr);
console.log("Details: " + desc + "\nError:" + err);
},
});
}
编辑:数据库和表格设置为UTF-8
,因此不是编码问题。