我尝试使用ajax jquery来阻止页面在按钮被按下时重新加载,但是在我实现它之后,页面仍然在重新加载。
这只是一个“喜欢”帖子的测试系统。
//回显行的foreach循环
foreach($dbData as $post){
<p id="likecount" class = "likecount"> </p>
<p>
<form method="post" id="liketest" class="redirect" >
<button type="submit" id="like" name="like" value= "'.$post["id"].'">
<i class="fa fa-heart"></i>
</button>
</form>
</p>
}
<script type="text/javascript" src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#like').focus();
$('#like').keypress(function(event) {
var key = (event.keyCode ? event.keyCode : event.which);
if (key == 13) {
var info = $('#like').val();
$.ajax({
method: "POST",
url: "index.php",
data: {like: info},
success: function(status) {
$('#likecount').append(status);
$('#like').val('');
}
});
};
});
});
</script>
<?php
if (isset($_POST['like'])) {
echo '<h1>'.$_POST['like'];
}
?>我希望它不会重新加载页面,但实际输出的是页面在单击按钮后仍然会重新加载。
发布于 2019-08-14 00:12:23
您可以使用:
event.preventDefault()
之后
$('#like').keypress(function(event) {
若要停止重新加载页面,请执行以下操作。
发布于 2019-08-14 00:13:34
请像这样更改您的代码。
<form method="post" id="liketest" class="redirect" onSubmit="return false;">然后,您必须使用ajax发送表单数据。这是发送post请求而无需页面重载的最好方法。
发布于 2019-08-14 00:17:01
尝尝这个
event.preventDefault();在这之后
$('#like').keypress(function(event) {https://stackoverflow.com/questions/57481586
复制相似问题