使用ajax获取数据jquery


get data with ajax & jquery

我有一个问题,我的ajax调用在我的网站。

我想动态加载我的页面从一个数据库与jquery和ajax对象。

但是它们没有返回,我不知道问题是来自php还是我的jquery脚本。

这是我的表:

  • id(int, PK, AI)
  • 标签(char)
  • 标题(char)
  • 内容(字符)
这是我的php脚本(get_page.php):
    <?php
try
{
    $bdd = new PDO('mysql:host=localhost;dbname=wemusic;charset=utf8', 'root', 'root');
}
catch(Exception $e)
{
        die('Erreur : '.$e->getMessage());
}
$reponse = $bdd->prepare('SELECT title, content FROM page WHERE label = ?');
$reponse->execute(array($_GET['label']));
$data = $reponse->fetch();
echo $data;
?>

我的第一个问题是:echo是否与数组一起工作?或者我应该使用echo json_encode?

这是我的jquery脚本:
    $("document").ready(function(){
    var bloc = $(".third").hide();
    var trigger = $(".presta-link");
        trigger.click(function(e){
            e.preventDefault();
            page = $(this).data('page');
            $.ajax({
                    url: 'get_page.php',
                    type: 'get',
                    data: {label: page},
                    success: function (data) {
                        bloc.show();
                        $(".presta-title").empty().html(data.title);
                        $(".presta-description").empty().html(data.content);
                    },
                    error:function(jqXHR)
                    {
                        console.log(jqXHR);
                    }
                });
        });
});

也:jquery加载,我的链接都有一个data-page值。

但是我没有得到任何回应。没有php错误,没有jqXHR消息。

您的success函数期望JSON响应,但您没有在PHP脚本中响应JSON。把

echo $data;

:

echo json_encode($data);

在你的$.ajax呼叫中,添加:

dataType: 'json',
顺便说一下,您不必在.html()之前调用.empty(),因为.html()完全替换了元素的内容(实际上,它在内部做的第一件事是调用.empty())。