gpt4 book ai didi

PHP:如何从 $.post 请求返回数据作为响应?

转载 作者:行者123 更新时间:2023-12-03 23:15:47 24 4
gpt4 key购买 nike

我正在尝试使用 jQuery 创建一个简单的 post 函数。输入是客户的姓名,响应是它的信息(地址、电话、年龄等)。到目前为止,我有这个:

脚本:

$(document).ready(function(){
$("#getClientInfo").on('click', function(){
$.post("getClientInfo.php", {
name: $('#name').val()
}) .done(function(data){
console.log(data);
}) .fail(function(xhr){
errorShow(xhr.responseText);
})
});

PHP:
$connection = include('dbConnection.php');
$name = $_POST['name'];
$query = mysqli_query($connection, "SELECT * FROM clients WHERE name =
$name");
$result = mysqli_fetch_array($query);
return $result;

我知道它非常简单,它不会实现异常或防止 SQL 注入(inject),但现在,我只想在控制台中使用 .done() 函数打印结果数组。但是,它没有返回任何响应。

有任何想法吗?先感谢您。

编辑:我希望数组成为请求的响应,因此它显示在 Chrome 中:

Picture

最佳答案

您没有从 PHP 文件中获得任何输出,因为您的脚本没有产生输出的行。

来自 return manual page :

If called from the global scope, then execution of the current script file is ended. If the current script file was included or required, then control is passed back to the calling file. Furthermore, if the current script file was included, then the value given to return will be returned as the value of the include call.



所以 return不会产生输出,但会为调用函数的任何内容分配一个值:
function getSomething() {
return 'something';
}
$something = getSomething();

或者将为包含另一个文件的任何内容分配一个值。

index.php:
<?php
$value = include('otherpage.php');
// $value == 'hello'

其他页面.php:
<?php
return 'hello';

相反,您需要执行以下操作:
echo json_encode($result);

关于PHP:如何从 $.post 请求返回数据作为响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51073226/

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