Ajax PHP初学者基本功能


ajax php beginner basic function

嗨,我真的不知道从哪里开始,但我只是想学习ajax和php,但我不确定我在这里错过了什么。

我想要这个代码设置,以便每次我点击.test-ajax它增加一个数字,因为我想要学习它是如何与php一起工作的,我希望在php文件中发生增量。

这是我的jQuery

$(document).ready(function(){
    $('.test-ajax').live('click', function(event)
    {
        $.ajax({
            url: 'variableplusone.php',
            type: 'post',
            data: { offset: 2 },
            success: function(offset) {
                alert(offset);
            }
        });
    });
});

和我的variableplusone.php文件…

<?php
$x = add_one();
function add_one()
{
    if (isset($_POST['offset']))
    {
        $offset = $offset;
        echo $offset;
    }
}
return $x;

只是想知道如何在php文件中获得$offset的值,然后返回并更新?

function add_one() {
    $offset = 0;
    if(isset($_POST['offset'])) {
        $offset = $_POST['offset'];
        $offset++;
    }
    return $offset;
}
$x = add_one();
die("$x");

显然,您需要检查您的$_POST['offset']是一个数字和其他完整性检查。要将值返回给javascript,只需要回显它,否则就会死亡。在javascript中,您将收到一个值,在您的示例中该值为3(您传递2,PHP将其加1)。

编辑:要"保留"对数字的更改,您有一个选择:要么在客户端使用javascript或cookie记住它,要么在服务器端使用会话变量记住它。

$(document).ready(function(){
    myVariable = 2;
    $('.test-ajax').live('click', function(event)
    {
        $.ajax({
            url: 'variableplusone.php',
            type: 'post',
            data: { offset: myVariable },
            success: function(offset) {
            alert(offset);
            myVariable = offset;
            }
        });
    });
});
上面的

是在客户机上记住它的一种方法。请注意,如果用户刷新页面,它将重置为默认值(2)。

您可以只执行echo $x;,然后在成功处理程序中,您将在offset变量中拥有它。

或者如果您坚持使用更复杂的结构,我建议您查看http://php.net/manual/en/function.json-encode.php和AJAX JSON请求。

你的返回$x没有意义,你的$x是空的,因为你的函数不返回值。我认为你希望你的函数返回$offset,然后在你的PHP文件中回显你的$x。PHP文件的输出将在js中的offset变量中-所以在你的例子中是offset。

像这样的

<?php
$x = add_one();
function add_one()
{
    if (isset($_POST['offset']))
    {
        return $_POST['offset']++;
    }
}
echo $x;
?>