如何将其转换为AJAX函数

时间:2011-07-08 19:20:04

标签: php javascript ajax

目前我有一个表单按钮,当点击重新加载页面并发布数据然后运行mySQL命令时,这可以找到,但我需要立即显示数据而不是再次刷新,我可以重新加载页面查询,但然后耗尽我的资源。我曾尝试阅读AJAX,但我无法理解(或让它工作!!)

任何人都可以告诉我如何解决这个问题吗?我目前的代码是......

    elseif(isset($_POST['int1'])) {
        $interest = $_POST['int1']; 
        $qResult= mysql_query("DELETE from user_interests WHERE interest = '" . mysql_real_escape_string($interest) . "' and user_id = " . $usersClass->userID());
        if(! $qResult )
            {
              die('Could not delete data: ' . mysql_error());
            }    
    }
    if($interest1 != ''){
        print $interest1 . "<form method='post' action='#'><input type='hidden' value='".$interest1."' name='int1' id='int1'/><input type='submit' value='delete' /></form><br />";
    }

4 个答案:

答案 0 :(得分:1)

如果您刚刚进入AJAX,我建议使用jQuery - 它会让所有内容都能为您提供跨浏览器。

$('#id_of_your_submit_button').click(function(e){
    $.ajax({
       type: "GET",
       url: "where_you_put_your_php.php",
       data: "some_info=" + $('#your_input_or_whatever'),
       success: function(msg){
             $('#id_of_where_you_want_info_to_go').html(msg);
       }
    });
    e.preventDefault(); // Tell submit button not refresh page
});

然后您的表单信息(数据)将放在您放入PHP的文件中名为$_GET['some_info']的变量中。echo输出要返回到文档的内容,它将显示在您想要信息的ID(请参阅代码中的名称。)

答案 1 :(得分:0)

尝试浏览此页面http://roshanbh.com.np/2008/04/ajax-login-validation-php-jquery.html ...我认为这正是您现在所需要的。如果您有任何疑惑,请随时回复。

答案 2 :(得分:0)

首先:阅读如何在网页中实现jQuery。

然后你可以使用jQuery框架来处理你的ajax查询。

首先,创建一个这样的代码块:

<?php
if(isset($_POST['ajax'])){
    //Your code goes here
}
?>

从那里,创建一个Ajax函数:

$('#submit_button_id').click(function(){
    jQuery.post('/webpage.php',{
        'ajax' : true
    },function(data){
        //Stuff for your page to do when your page call loads.
    },'html'
});

jQuery在他们的网站上有很多文档,所以你应该很容易弄清楚如何使用它。

答案 3 :(得分:0)

首先,使用jQuery库http://www.jquery.com!它极大地简化了使用javascript的工作。然后给你

<input type='submit' value='delete' id="delete_button" />

引用jQuery库(最好把它放在html的最底部,在标签的正上方)

 

然后用一段像这样的jQuery代码跟着它(你可能需要改变它以满足你的需求,但我试着非常接近)

<script type="text/javascript">

$(document).ready(function() { // this only happens when DOM is fully loaded

    $('#delete_button').click(function(e){

        var int1Val = $('#int1').val();

        $.post("your_page.php",
            { int1: int1Val, maybeSomeOtherVar: "coolbeans value" },
            function(data) { // if your_page.php sends any response back, then this function gets called
            alert("Data loaded from server POST: " + data);
        });

        $('#someMessageDivID').text(int1Val); // to immediately display the form value somewhere

        e.preventDefault(); // I'm not sure if you need this if you also have return false below, but I always put both just to make sure the form doesn't submit on its own, because we have already done it above
        return false;

    });

});

</script>

您可以使用AJAX创建一些非常时髦的桌面感觉网页,所以尽情了解它。我希望这有帮助!