首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将html答案从PHP发送到Ajax

将html答案从PHP发送到Ajax
EN

Stack Overflow用户
提问于 2016-06-29 06:53:49
回答 1查看 2.1K关注 0票数 1

以下是我要做的事:

我使用Ajax调用从数据库中选择消息,响应PHP中的内容,并尝试在Ajax成功时获得回显的html。但不起作用。这是密码。

JQUERY:

代码语言:javascript
复制
function SelectMessages() 
{
    console.log("Selecting messages");
    console.log("Talk = " + talk);

    $.ajax({
        url: "select_messages.php",
        type: "GET",
        data: "talk=" + talk,
        success: function (html) { 
            alert(html);
            console.log("In success");
            $("#message_box").prepend(html)
        },
        error: function (html) {
            alert(html);
            console.log("In error");
        }
    });//ajax()

}//SelectMessages()

PHP:

代码语言:javascript
复制
<?php
    //SELECTING MESSAGES   
    require 'dbconnect.php';

    header('Cache-Control: no-cache, must-revalidate');
    header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
    header('Content-type: application/json');    

    if ($_GET['talk'] != "") {
        $request = $bdd->prepare('SELECT AUTHOR,CONTENT FROM MESSAGE WHERE  TALK = :talk');
        $request->execute(array("talk"=>$_GET['talk']));        

        while ($data = $request->fetch(PDO::FETCH_ASSOC)) {
            echo' <p> '.$data['CONTENT'].'</p>';
        } 
    }             
?>  

使用这段代码,我得到控制台上显示的“错误”,警报中的代码是"object Object“。但是,我的查询在浏览器中的状态是"OK“,并且在网络窗口中的回显结果是预期的结果,所有的消息值都是正确的。

我只是不明白为什么我能克服这个错误而不是成功。

请不要将其标记为重复,因为我已经检查并测试了Ajax/PHP解决方案,并且没有得到任何结果。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-29 07:04:39

在php文件中,设置了内容类型标头,如下所示

代码语言:javascript
复制
 header('Content-type: application/json');    

但通常以纯文本/html的形式响应。要么你必须用json发送回复。

代码语言:javascript
复制
echo json_encode($data['CONTENT']);

或将内容类型标头移除为json。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38092353

复制
相关文章

相似问题

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