如何在不使用AJAX刷新的情况下发送表单数据?

时间:2015-02-25 20:06:41

标签: javascript php jquery ajax

我的表单只包含两个按钮,一个喜欢和一个不喜欢的按钮。每个按钮在按钮的“动作”部分获取产品的ID,我想将其传递给包含pdo函数的php文件,以便向我的数据库提交喜欢/不喜欢,但我不想要页面刷新。

我是AJAX的新手,并且不知道如何使用它来解决这个问题。下面是相关的代码,我想知道我是否可以获得有关如何使用AJAX和我的代码的任何提示?

的index.html

<form id="likeDislike" class="form-horizontal" action="index.php?id=' . $productData->getID() .'" method="post">
    <button id="like" type="submit" name="like" value="like" class="btn btn-success"><i class="glyphicon glyphicon-thumbs-up"></i></button>                            
    <button id="dislike" type="submit" name="dislike" value="dislike" class="btn btn-danger"><i class="glyphicon glyphicon-thumbs-down"></i></button>
</form>

的index.php

if (isset($_POST["like"])) {
    $productDataSet = new productDataSet();    
    $productDataSet->addLike();
}    
if (isset($_POST["dislike"])) {
    $productDataSet = new productDataSet();    
    $productDataSet->addDislike();
} 

2 个答案:

答案 0 :(得分:0)

为什么你不在jquery中这样做?你可以这样做..

$('#like')。click(function(){

                        var input = $("<input>").attr(
                                "type", "hidden").attr(
                                "name", "update_like").val(
                                JSON.stringify("1"));
                        $('#likeDislike').append($(input));
                    })

$('#dislike')。click(function(){

                        var input = $("<input>").attr(
                                "type", "hidden").attr(
                                "name", "update_dislike").val(
                                JSON.stringify("1"));
                        $('#likeDislike').append($(input));
                    })

所以在服务器端你将收到带有输入update_like或update_dislike的表单,你只需添加它。

答案 1 :(得分:0)

您可以使用jQuery执行此操作。只需将jQuery添加到您的javascript项目中,然后使用此代码将数据发布到php文件并从中获取响应。

我们认为您有一个ID为btnLikebtnDisLike的元素。他们有一个名为postID的自定义属性。

这是jQuery代码:

$(document).ready(function(){
     $("#btnLike").click(function(){
         $.post("./submit.php",{Request : "Like"  ,  PostID : $(this).attr("postID")},function(data,status){
             // data is the response
         });
     });


     $("#btnDisLike").click(function(){
         $.post("./submit.php",{Request : "DisLike"  ,  PostID : $(this).attr("postID")},function(data,status){
             // data is the response
         });
     });
});

您可以在$ _POST全局变量中使用RequestPostID来访问传递的数据。