HTML:頁面仍然使用Ajax刷新
<body>
<form name='sample' id='sample' method='GET' action='followedbutton.php'>
Name:<input type='text' name='username' id='username'><br>
Age:<input type='text' name='userage' id='userage'><br>
Date:<input type='text' name='userdate' id='userdate'><br>
<input type='submit' name='submit' id='submit' value='Go!'>
</form>
</body>
JS:
<script>
$(document).ready(function() {
var $form = $('#sample');
$form.submit(function (e) {
$.GET(url: $(form).attr('action'), data: $(form).serialize(), success: function (result) {
$('#div').html(result)
}, 'json');
return false;
e.preventDefault();
});
});
</script>
PHP成功頁面:
<?php
error_reporting(E_ALL); ini_set('display_errors', 1); mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$conn = mysqli_connect('localhost', 'root', '') or die ("No mysqli");
mysqli_select_db($conn, 'sample') or die ("No DB");
$name = $_GET['username'];
$age = $_GET['userage'];
$date = $_GET['userdate'];
$insert = ("INSERT INTO `test` (name, age, date) VALUES ('$name','$age','$date')");
$insert_query = mysqli_query($conn, $insert) or die ("No query");
mysqli_close($conn);
//header('location:followbutton.php');
echo "<script text='javascript'>alert('Ajax');</script>"
?>
所以我想提交此表無需刷新頁面。當我提交表單時,我立即收到警報,無需刷新頁面。但在我的Chrome選項卡中,我可以看到該頁面仍在加載,並且最終(在5-7秒左右之後)頁面會變爲followedbutton.php
。
如何防止頁面刷新,同時仍將我的信息發送到followedbutton.php
?什麼在我的JS代碼需要改變?一切正常,我只是不希望頁面刷新。
我從其他用戶那裏得到了一些建議,他們提出了類似的問題,但沒有任何建議對我有用。
我已經採取了對這個職位的意見,我的代碼更改爲:
<script>
$(document).ready(function(){
var $form = $('#sample');
$form.submit(function(e){
e.preventDefault();
$.get(url:$(form).attr('action'), data:$(form).serialize(), success:function(result) {$('#div').html(result)},'json');
return false;
});
});
</script>
但仍得到相同的結果很遺憾。可悲的是,我還沒有學習如何使用我的JS控制檯進行調試。它在要做的事情列表上。
你包括jQuery的頁面?檢查控制檯是否有錯誤? – j08691
yea'' – jstrat6
您對'$ .get'的調用仍然給出語法由於'url:','data:'等錯誤,請參閱我的更新答案(或James'),以獲取調用'$ .get'的正確方法。 –