我正在嘗試使用Ajax來執行表單。這是我的HTML部分,其中我試圖進入我的ajax調用只能工作一次,但它不能再次工作,除非我刷新頁面
<form class="col s12">
<div class="row">
<div class="input-field col s6">
<i class="material-icons prefix">mode_edit</i>
<textarea id="icon_prefix2" class="materialize-textarea" name ="discussion"></textarea>
<input type="hidden" name="user" value="<?php echo $_SESSION['userid'];?>">
<input type="hidden" name="id" value="<?php echo(rand(1000,99999)); ?>">
<input type="hidden" name="date" value="<?php echo date("d.m.Y"); ?>">
<input type="hidden" name="time" value="<?php echo date("h:i:s"); ?>">
<label for="icon_prefix2">Start your discsussion</label>
<input type="submit" class="btn waves-effect waves-light right" value="post">
</div>
</div>
</form>
和Ajax調用
$(function() {
$('form').on('submit', function (e) {
e.preventDefault();
$.ajax({
type: 'post',
url: 'cardiosubmit.php',
data: $('form').serialize(),
success: function() {
alert('successfully posted')
},
error: function() {
alert('error')
}
});
});
});
,這是PHP代碼存儲在數據庫中的值:
<?php
session_start();
include_once('include/config.php');
$conn = config();
$uname = $_POST['user'];
$uid = $_POST['id'];
$val = $_POST['discussion'];
$date = $_POST['date'];`enter code here`
$time = $_POST['time'];
if (!$conn) {
$msg = "connection failed";
die($msg);
} else {
$query = "INSERT into cardiocase (id,uid,val,date,time) VALUES
(?,?,?,?,?);";
$stmt = $conn->prepare($query);
$stmt->bind_param('sssss',$uid,$uname,$val,$date,$time);
if($stmt->execute()){
echo "success";
}else{
echo "fail";
}
$stmt->close();
}
該值首次被存儲。但在成功消息後,當我嘗試再次進入它只是說成功發佈,但是當我檢查數據庫的值不存在。如果我刷新頁面,並嘗試再次獲取存儲。
是'iud'領域'cardiocase' DB獨特之處?我想你可能有興趣從PHP獲得響應:add'error_reporting(E_ALL); ini_set(「display_errors」,1);'在頁面頂部,並且在JS中,使用PHP回顯 - >'success:function(data){alert(data)}'+'error:function(request,status ,錯誤){alert(request.responseText); }' – OldPadawan
'uid'(表中的'id')是主鍵 – Anush
好了,'「>'在Ajax調用後保持不變... – OldPadawan