0

我尝试学习 ajax-php 配置背后的魔力,以便尝试通过 php 实现类似时钟的代码。但是,似乎我仍然缺少一些东西。这是我到目前为止所做的。

HTML(点击时开始计时)

<div id="bu" onclick="clock()">asccasascascsc</div>

JS

<script type="text/javascript">
 var a = 0;
 function clock() {



     $.ajax({
        type: "GET",
        url: "asd.php",
        data: {  
                'p':a
              },
        dataType: "json",
        cache: false,
        success: function(data) {

            $('#bu').html(data.p);
           setTimeout (clock    (),10000 );
        },
    });

}

 </script>

在这里,我想用整数 1 替换“bu”并创建一个循环以每 1 秒增加一次该数字。我知道 setTimeout 函数只能工作一次(我是一个骗子,从我读到它的地方:))但我每次都调用它。

PHP(asd.php)

<?php
$asd = $_GET['p'];
$asd++;
$data = array();

$data['p'] = $asd;


echo json_encode($data);
?>

PHP 是我做增量部分的地方。

那么,为什么它不起作用?我只看到1,但没有更多。注意:如您所见,我很新:)

4

1 回答 1

0

尝试以下操作:

<script type="text/javascript">
var a = 0;

function clock() {
    $.ajax({
        type: "GET",
        url: "asd.php",
        data: {'p': a},
        dataType: "json",
        cache: false,
        success: function(data) {
            a = data.p;

            $('#bu').html(data.p);

            setTimeout(clock, 10000);
        },
    });
}
</script>

如果你想增加$('#bu')价值,你需要增加a,这是$('#bu').html()在每个 ajax 请求之后填充的。

于 2012-08-24T01:17:58.297 回答