Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ajax php初学者基本函数_Php_Jquery_Ajax - Fatal编程技术网

ajax php初学者基本函数

ajax php初学者基本函数,php,jquery,ajax,Php,Jquery,Ajax,嗨,我真的不知道从哪里开始,但我只是想学习ajax和php,但我不确定我在这里缺少什么 我希望设置此代码,以便每次单击.test ajax时它都会递增一个数字,因为我希望了解它如何与php一起工作,我希望在php文件中发生递增 这是我的jQuery $(document).ready(function(){ $('.test-ajax').live('click', function(event) { $.ajax({ url: 'vari

嗨,我真的不知道从哪里开始,但我只是想学习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;

您只需执行
echo$x
然后在success handler中,您将在
offset
变量中使用它

$(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;
            }
        });
    });
});
或者,如果您坚持使用更复杂的结构,我建议您使用AJAX查看JSON和JSON请求

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)。

您的返回$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;
?>


出于兴趣,我宁愿
echo
而不是
die
@致命吉他。。。为什么?谢谢,但我只是想知道如何保存新的号码,所以当我再次单击时,它会再次增加,比如,3,4,5,etc@Adrian-请参阅编辑以发布。这可能不是最好的方法,因为如果用户刷新页面,则会丢失所有增量。如果您需要在用户刷新页面时保持增量,可以查看cookie或会话变量。不完全是。。。该值由Javascript中的“myVariable”变量保留。我们已经将页面加载时的默认值设置为“2”。然后,我们通过ajax将该值传递给PHP脚本,该脚本增加该值,并将其回显到javascript(您可以将“die”替换为“echo”,脚本仍然可以工作)。然后,在javascript中,我们将新的偏移量写回myVariable。这就像一个问题和一个回答:这个问题包含url和post数据(offset=myVariable),而回答是myVariable+1。然后将此响应保存到myVariable。