首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何从$.post请求中返回数据作为响应?

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

Stack Overflow用户
提问于 2018-06-28 08:44:00
回答 1查看 5.5K关注 0票数 4

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

脚本:

代码语言:javascript
复制
$(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:

代码语言:javascript
复制
$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中显示在这里:

Picture

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-28 09:07:03

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

return manual page

如果从全局范围调用,则结束当前脚本文件的执行。如果包含或需要当前脚本文件,则将控制权传递回调用文件。此外,如果包含当前脚本文件,则返回的值将作为include调用的值返回。

因此,return不会生成输出,但会为调用函数的任何内容赋值:

代码语言:javascript
复制
function getSomething() {
    return 'something';
}
$something = getSomething();

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

index.php:

代码语言:javascript
复制
<?php
$value = include('otherpage.php');
// $value == 'hello'

otherpage.php:

代码语言:javascript
复制
<?php
return 'hello';

相反,你需要做一些类似这样的事情:

代码语言:javascript
复制
echo json_encode($result);
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51073226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档