我正在尝试用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注入,但是现在,我只想用.done()函数在console中打印结果数组。但是,它不返回任何响应。
有什么想法吗?提前谢谢你。
编辑:我希望数组是请求的响应,所以它在Chrome中显示在这里:
发布于 2018-06-28 09:07:03
您不会从PHP文件中获得任何输出,因为您的脚本中没有生成输出的行。
如果从全局范围调用,则结束当前脚本文件的执行。如果包含或需要当前脚本文件,则将控制权传递回调用文件。此外,如果包含当前脚本文件,则返回的值将作为include调用的值返回。
因此,return
不会生成输出,但会为调用函数的任何内容赋值:
function getSomething() {
return 'something';
}
$something = getSomething();
或者将一个值分配给包含另一个文件的任何文件。
index.php:
<?php
$value = include('otherpage.php');
// $value == 'hello'
otherpage.php:
<?php
return 'hello';
相反,你需要做一些类似这样的事情:
echo json_encode($result);
https://stackoverflow.com/questions/51073226
复制相似问题