AJAX执行php而不刷新页面

时间:2015-11-28 13:25:17

标签: javascript php ajax

我不太了解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

提前致谢=)

3 个答案:

答案 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";
        }
    }

?>