我目前尝试在超时后使用ajax自动保存数据,但是我遇到了数据似乎没有执行的错误,我检查了数据库并且没有添加任何记录。
以下是我的代码:
<?php $userDate = implode('-', array($year,$month,$day)); ?>
<style type="text/css">
#success {
display: none;
font-family: Arial;
color: green;
margin-left: 85px;
font-size: 14px;
}
</style>
<script type="text/javascript">
$(document).ready(function() {
event.preventDefault();
$.ajax({
type : 'POST',
url : 'log.php',
data : {userDob: '<?php echo $userDate; ?>'},
dataType: 'json',
success : function(data) {
if (data.success){
$('#success').fadeIn(1000).append('<p>' + data.message + '</p>');
}
}
});
});
</script>
<div id="success"></div>
我查看了来源,data
根据结果显示了正确的变量,例如:$day = 26, $month = 12, $year = 1976
,结果显示为data: {userDob: 1976-12-26}
我的log.php
<?php
require('../inc/connection.php');
$dob = $_POST['userDob'];
//Create log file to count daily customer visit
$stmt = $db->prepare("INSERT INTO log (dob, log_datetime, log_count, amount) VALUES (?, ?, ?, ?)");
$stmt->bindParam(1, $dob);
$stmt->bindParam(2, $now, PDO::PARAM_STR);
$stmt->bindParam(3, $cust_count);
$stmt->bindParam(4, $amount);
date_default_timezone_set('Asia/Kuala_Lumpur');
$now = date('Y-m-d H:i:s');
$cust_count = 1;
$amount = 10;
$stmt->execute();
echo json_encode(array('success'=>TRUE,'message'=>"Record Added"));
?>
我可以知道哪里出错并导致数据没有插入数据库并在同一页面内回显结果?
答案 0 :(得分:0)
检查一下,
<script type="text/javascript">
$(document).ready(function() {
$.ajax({
timeout :5000,
type : 'POST',
url : 'log.php',
data : {date:'<?php echo $userDate; ?>'},
dataType : 'json',
success : function(data) {
if (data.success){
$('#success').fadeIn(1000).append('<p>' + data.posted + '</p>');
}
}
});
});
</script>