1

私は自分のサイトを少し洗練されたものにする方法を探していました。これは、いくつかの PHP ゲームを備えたカジノです。

ゲームでステップを踏むたびにページが更新されます。私のゲームの 1 つはスロット ゲームで、モバイルでは、下にスクロールして表示する前に実行されたスロットのアニメーションを見ることができません..

私は自分のサイトに ajax を実装したいので、ページを更新するのではなく、画像を変更します。それだけです。

私はjQuery AJAX APIガイドを見てきましたが、ボタンがクリックされたときにajaxを介してphp関数を実行するだけでいいのです。

これを行うのはどれくらい難しいですか?

このコードは正しい行にあると言われていますが、どのように使用すればよいですか?

$.ajax({ url: '/lib/casinofile',
     data: {action: 'spin-wheel'},
     type: 'post',
     success: function(spinwheel) {
                  alert(spinwheel);

              }
});

前もって感謝します

4

4 に答える 4

0

このコードは基本的に /lib/casinofile に POST リクエストを発行します。カジノファイルがサーバーから返されると、success 関数がトリガーされます...この場合、サーバーの応答でブラウザにポップアップが作成されます (このこの場合はスピンホイールです)。

$.post('/lib/casinofile/,{action:'spin-wheel'},function(data){ alert(data); }); という別の方法でも可能です。

于 2013-06-21T13:39:08.907 に答える
0

ページの更新を停止するには、追加する必要があります

 return false;

あなたのスクリプトで。スクリプトの最後にあることを確認してください。その後は何も実行されません。

これは 1 つのステップにすぎません。コードを実行するには、別の .php ファイルも必要です。そして、それはまったく別の話です。

このチュートリアルは正しい方向に進むかもしれません: http://net.tutsplus.com/tutorials/javascript-ajax/submit-a-form-without-page-refresh-using-jquery/

幸運を!

于 2013-06-21T14:34:04.257 に答える
0

AJAX が送信するデータに基づいて動作し、いくつかの指示を返すには、データを送信する先の PHP スクリプト (「casinofile」) が必要です。たとえば、上記のコードを PHP で使用すると、次のようになります。

if ($_POST['action'] == 'spin-wheel') {
    echo spinWheel();
}

これにより、spinWheel() の結果が返されます。これは、対象のゲーム (ルーレットを想定しています) に応じて、6B (6 黒) になる可能性があります。success 関数はecho、PHP によって編集された結果のデータをロードします。

$.ajax({ url: '/lib/casinofile',
    data: {action: 'spin-wheel'},
    type: 'post',
    success: function(result) {
        alert(result);

    }
});

この場合は「alert()B6」になります。

率直に言って、可能であれば、既に作成された PHP 関数に AJAX でアクセスしようとするよりも、Javascript でゲームを書き直したほうがよいかもしれません。それらは翻訳するのに十分簡単でなければなりません。

于 2013-06-21T13:52:51.537 に答える
0

まず、サーバー側 ( php script ) からクライアント側 ( javascript ) に関数をロードすることはできませんでしたが、サーバー側の関数を実行 ( run ) してクライアント側で結果を取得することはできました。それは本当に簡単です。おそらく、そのファイルに複数の関数があり、Javaスクリプトで行います

$.ajax({ 
     url: '/lib/casinofile.php',
     data: {
         action: 'spin-wheel'
     },
     type: 'post',
     success: function(spinwheelMessage) {
                  alert(spinwheelMessage);

              }
});

あなたのphpファイルには

<?php

function spinWheel () {
    /** something to do here **/
    return 'Hey, this is really simple';
}

if ($_POST['action'] == 'spin-wheel') {
    echo spinWheel ();
}

php ファイルに php ファイルという名前を付けることを忘れないでください。つまり、casinofile.php の代わりに、casinofile を意味します、lib フォルダーに制限がない場合、それが呼び出され、テストが単純なテキストとして表示される可能性があります。

于 2013-06-21T15:25:53.360 に答える