AJAX
$.ajax({
type: 'GET',
url: 'update_query.php',
data: $('#new_form').serialize(),
dataType: 'json',
success: function(data) {alert(data);}
});
update_query.php
<?php
require("connection.php"); //contains pwd
try {
$connection = new PDO( $dns, $utilisateur, $motDePasse);
$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $connection->prepare("UPDATE XXX");
$stmt->execute();
echo json_encode('SUCCESS');
$connection = null;
}
catch (Exception $e) {
echo json_encode('ERROR:' . $e->getMessage());
exit;
}
?>
php查询正常,因为我可以在我的数据库中看到结果。但是,来自AJAX的警报(数据)不起作用。数据是空的。
我真的无法弄清楚原因。我可以提出您的意见/建议吗?
由于
答案 0 :(得分:3)
$ .ajax期望一个JSON响应,但你使用了json_encode来打印&#34;成功&#34;输出为&#34; text / html&#34;不是你想要的&#34; application / json&#34;。
您必须使用header
函数才能拥有&#34; application / json&#34;响应:
header('Content-type: application/json');