1

これがtwitter.phpを呼び出すための私のjQueryコードです

<script type="text/javascript">
    $(document).ready(function(){
        $("#play").click(function(){
            $.ajax({
                url: 'twitter.php',
                type: 'GET',
                data: "user=<?php echo $user; ?>",
                success: function(data) {
                    $('#first').hide();
                    $("#wait").show().delay(2000).fadeOut();
                    $('#result').html(data).delay(2500).fadeIn();
                    $("#again").hide().delay(2500).fadeIn();
                }
            });
        });
        $("#playagain").click(function(){
            $('#result').show().delay(300).fadeOut();
            $("#again").show().delay(300).fadeOut();
            $("#first").hide().delay(700).fadeIn();
        });
   });
</script>

そしてこれはPHPから乱数への画像へ

        $randnum = rand(0,99);
        $photoz = "pic/bg".rand(1,7).".png";
        //$phoneim = $pic;  

        $file[0] = "im_{$user}.jpg";

        if (file_exists($file[0])) { 
    unlink("$file[0]");
    }           

        //GD ใส่ข้อความลงในภาพ
        $font_size = 100;
        $im = imagecreatefrompng($photoz);
        $destWidth = imagesx($im); 
        $font = realpath('font.ttf');
        $imessage = $horonum[$randnum];
        $color = ImageColorAllocate($im, 113, 193, 26);
        $text_y = 333;
    $text_bbox = ImageTTFBBox($font_size, 0, $font, $imessage);
    $image_centerx = ($destWidth / 2)-7;
    $text_x = $image_centerx - round(($text_bbox[4]/2));

        ImageftText($im, $font_size, 0, $text_x, $text_y, $color, $font, $imessage);
        imagejpeg($im,"im_{$user}.jpg");
        imagedestroy($im);
        //*************

初めてjQueryがPHPを呼び出すと、すべてが正常に機能しますが、再生ボタンを繰り返しクリックした後でも、乱数は1回目と同じです。これを修正する方法は?

4

1 に答える 1

0

おそらくキャッシュの問題です。cache: falseajaxオプションにを追加してみてください。

http://api.jquery.com/jQuery.ajax

cacheブールデフォルト:true、dataType'script'および'jsonp'の場合はfalsefalseに設定すると、要求されたページがブラウザによってキャッシュされないように強制されます。キャッシュをfalseに設定すると、クエリ文字列パラメータ「_=[TIMESTAMP]」もURLに追加されます。

于 2012-11-02T14:04:28.247 に答える