我有一个问题,我的ajax调用在我的网站。
我想动态加载我的页面从一个数据库与jquery和ajax对象。
但是它们没有返回,我不知道问题是来自php还是我的jquery脚本。
这是我的表:
- id(int, PK, AI)
- 标签(char)
- 标题(char)
- 内容(字符)
<?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?
$("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()
)。