这是我第一次尝试使用ajax提交表单,所以我不确定我哪里出错了。
我有一个弹出窗口显示用户每天第一次访问,它有一个记录出勤的按钮,基本上会插入提交的时间戳和用户等,我已经手动测试了PHP一个isset,只是点击页面,它正在插入,但当我尝试使用ajax它不是,我已经在开发人员工具中观看了网络,并在点击时点击了页面但是没有插入数据。
这是我的模式:
<form method="post" data-remote="true">
<div class="modal fade bs-example-modal-sm" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog modal-sm">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span>
</button>
<h4 class="modal-title" id="myModalLabel2">Morning, <?php echo $user['userName']; ?>.</h4>
</div>
<div class="modal-body">
<?php $today = date("D M j"); ?>
<h4>Are you working today <?php echo $today; ?>?</h4>
<p>By clicking 'Log My Attendance' you are confirming that you are working today.</p>
</div>
<div class="modal-footer">
<button id="log-attendance" type="buttom" name="submit" class="btn btn-primary" data-dismiss="modal">Log My Attendance</button>
</div>
</div>
</div>
</div>
</form>
这是我的javascript:
<script type="text/javascript">
$(document).on('click', '#log-attendance', function() {
$.ajax({
type: "POST",
url: 'log-attendance.php',
success: function() {
"Attendance Log success"
}
});
});
</script>
这是我的PHP:
<?php if(isset($_POST['submit'])) {
$val1 = "test";
$val2 = "test";
$val3 = "test";
$val4 = "test";
$val5 = "test";
$val6 = "test";
$query = "INSERT INTO po_users (val1, val2, val3, val4, val5, val6)
VALUES ('$val1', '$val2','$val3', '$val4', '$val5', '$val6')";
$stmt = sqlsrv_prepare($sapconn2, $query);
sqlsrv_execute($stmt);
}
?>
答案 0 :(得分:3)
检查
<form method="post" data-remote="true" id="myform">
<div class="modal fade bs-example-modal-sm" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog modal-sm">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span>
</button>
<h4 class="modal-title" id="myModalLabel2">Morning, <?php echo $user['userName']; ?>.</h4>
</div>
<div class="modal-body">
<?php $today = date("D M j"); ?>
<h4>Are you working today <?php echo $today; ?>?</h4>
<p>By clicking 'Log My Attendance' you are confirming that you are working today.</p>
</div>
<div class="modal-footer">
<button id="log-attendance" type="buttom" name="submit" class="btn btn-primary" data-dismiss="modal">Log My Attendance</button>
</div>
</div>
</div>
</div>
</form>
/* On form submit */
<script>
$(function() {
$('#myform').submit(function(e) {
e.preventDefault();
//var formdata = $(this).serialize();
$.ajax({
url : 'log-attendance.php',
method : 'POST',
success : function(res)
{
alert(res);
}
});
});
});
/* on button click */
$(function() {
$('#log-attendance').click(function(e) {
e.preventDefault();
//var formdata = $(this).serialize();
$.ajax({
url : 'log-attendance.php',
method : 'POST',
success : function(res)
{
alert(res);
}
});
});
});
</script>
登录attendance.php
<?php
$servername = "localhost";
$username = "username"; /* Your username */
$password = "password"; /* Your password */
$dbname = "myDB"; /* Your dbname */
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$val1 = "test";
$val2 = "test";
$val3 = "test";
$val4 = "test";
$val5 = "test";
$val6 = "test";
$query = "INSERT INTO po_users (val1, val2, val3, val4, val5, val6)
VALUES ('".$val1."', '".$val2."','".$val3."', '".$val4."', '".$val5."', '".$val6."')";
if (mysqli_query($conn, $sql)) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
?>