[英]PHP: How can I return data as response from $.post request?
我正在尝试使用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()函数在控制台中打印结果数组。 但是,它不返回任何响应。
有任何想法吗? 先感谢您。
编辑:我希望数组是请求的响应,因此它在Chrome中显示在这里:
您没有从PHP文件中获得任何输出,因为您的脚本没有产生输出的行。
从return
手册页面 :
如果从全局范围调用,则结束当前脚本文件的执行。 如果包含或需要当前脚本文件,则控制权将传递回调用文件。 此外,如果包括了当前脚本文件,则返回的值将作为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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.