我不太了解javascript,AJAX并且需要快速执行此代码,所以如果你们可以提供帮助,那就太棒了! 我的网页上有一个类似按钮,允许用户喜欢内容:
html代码如下:
<form action=\"\" method=\"post\" enctype=\"multipart/form-data\"><button name=\"like$i\">like</button></form>
和php代码:
for ($i = 100; $i >= 0; $i-=1) {
$primid = latest1($i);
$id = $user_data['id'];
if(isset($_POST["like" . $i]) && already_liked($id, $primid)===false) {
add_like($id,$primid);
}
if(isset($_POST["like" . $i]) && already_liked($id, $primid)===true){
echo "you have already liked this art";
}
}
所有代码都运行正常,但是当我点击“赞”按钮时;页面刷新不理想...
我知道你可以使用AJAX解决这个问题;我已经找到了答案,但他们似乎都是有内容插入等形式的表格... 我很抱歉,如果我看起来很懒,但我必须快速完成,暂时没有时间正确学习ajax:S
提前致谢=)
答案 0 :(得分:0)
请注意以下代码:
jQuery.ajax({
url: '/some/file.php', //link to your php
method: 'POST', // Method, you can use GET too
data: $('#the-form').serialize() //get form values
}).done(function (response) { //works if response is success
// Do something with the response
}).fail(function () { //works if response is fail
// Whoops; show an error.
});
答案 1 :(得分:0)
只需编译所需的所有内容:
JavaScript代码:
</script>
Html代码:
</script>
祝你好运任务。
答案 2 :(得分:0)
您可以这样做:
<强> HTML 强>
<form action="" method="post" id="likeForm" onsubmit="return false;">
<input type="submit" name="like<?php echo $id; ?>" value="Like" />
</form>
旁注: onsubmit="return false;"
用于防止ajax中出现uncaught exception: out of memory
错误。
<强>的jQuery 强>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
$('#likeForm').submit(function(){
var value = $(this).children().attr('name');
var param = {value: value};
$.ajax({
type: 'POST',
url: 'yourpage.php', // change this yourpage.php to point to a page where you want to process your ajax request
cache: 'false',
data: param,
beforeSend: function(){
// before send
},
success: function(data){
// success
},
error: function(){
// error
}
});
});
});
</script>
<强> yourpage.php 强>
<?php
for($i = 100; $i >= 0; $i-=1) {
$primid = latest1($i);
$id = $user_data['id'];
if(isset($_POST['value']) && $_POST['value'] == "like" . $i && already_liked($id, $primid)===false) {
add_like($id,$primid);
}
if(isset($_POST['value']) && $_POST['value'] == "like" . $i && already_liked($id, $primid)===true){
echo "you have already liked this art";
}
}
?>