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>

ここでは、「bu」を整数の 1 に置き換え、ループを作成して 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')、を増やす必要があります。これは、各 ajax リクエストの後にa入力されるものです。$('#bu').html()

于 2012-08-24T01:17:58.297 に答える