早上好, 我在调用ajax函数成功或错误时遇到一些问题。我的数据正确保存在数据库中。还有其他通过jquery控制DOM的方法吗?
我的form.php文件如下所示。
<?php
// echo json_encode($_POST);
$server = 'mysql:host=xxxxx;dbname=xxxxxxxxxxxx';
$dbuser = 'xxxxxxxxxxx';
$dbpass = 'xxxxxxxxxxx';
try {
$db = new PDO($server, $dbuser ,$dbpass);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
$query = $db -> prepare('INSERT INTO contact (namec,emailc,message) VALUES(?, ?, ?)');
if($query->execute(array(json_encode($_POST['namec']), json_encode($_POST['emailc']), json_encode($_POST['message'])))) {
echo json_encode(array('success' => true));
} else {
echo json_encode(array('success' => false));
}
我的contact.js看起来像这样
$(document).ready(function () {
$('#ContactForm').submit(function (e) {
e.preventDefault();
var that = $(this);
$.ajax({
url: that.attr('action'),
type: that.attr('method'),
dataType: 'json',
data: that.serialize(),
success: function () {
if (res.success) {
console.log('ok');
} else {
console.log('not ok');
}
},
error: function (err) {
console.log(err);
}
})
})
})
有人可以简要介绍一下吗?
答案 0 :(得分:2)
您在success
回调中缺少响应数据参数
success: function (res){
//^^^ is missing
if (res.success) {
console.log('ok');
} else {
console.log('not ok');
}
}