0

私のページには、ユーザーのリストを含む検索結果があり、各ユーザーの後に「addfriend」ボタンが続きます。各行には、ユーザー名userIDが含まれています。一方、検索結果を要求したユーザーのIDは、Session変数に格納されます。

addfriend-bottonをクリックすると、次の2つのことが発生します。

  1. userIDを保存し、$ _SESSION['userID']は関係を説明するMySQLテーブルです。
  2. ページを更新しないでください(これが私の問題の核心です)が、集中してボタンの状態を「友達リクエスト送信」などに変更してください。GetElementByID()。styleメソッドを考えています。

私はこれについて考えていました:

<a href="#" onClick="addFriend('<? echo $_SESSION['userID'];?>','<? echo $rij['userID']; ?>')">

javascript関数addfriendを呼び出します

私はこのような2つのIDをキャッチしたいと思っていました:

<script>
function addfriend(id1, id2)
{
    //server side php code where I use value of 
    //the client-side javascript variables: +id1+ and +id2+ .
}
</script>

これは可能ですか、それとも私は間違った考えをしていますか?これを達成する方法について何か提案はありますか?

4

3 に答える 3

2

addFriend() 関数内で正しい方法で、(AJAX 経由で) 1 つの php ファイルを呼び出し、ページを更新せずに IDS を送信できます。この場合、次のような Jquery を使用する方がよいと思います。

<script>
function addfriend(id1, id2)
{
   $.ajax({
        type: 'POST',
        url: 'yourPHPfile.php',
        data: { your_id_1:id1, your_id_2:id2 },
        success: function(data){
                    if(data){
                       alert('Done!');
                    }
        },
        dataType: 'text'
    });
}
</script>

そして、PHPファイルでこれを行うことができます:

<?php
    //receive Ids
    $id1 = $_POST['your_id_1'];
    $id2 = $_POST['your_id_2'];

    //do something here

    echo "OK!";
<?

この作業を行うには、jQuery プラグインをダウンロードして、head タグではなくページに追加する必要があります

<head>
     <script type="text/javascript" src="jquery.js"></script>          
</head>

よくやった、あきらめないで!(:

于 2012-10-17T20:47:22.070 に答える
1

これは、AJAX (非同期 JavaScript および XML) を使用して行うことができます。これは、「JavaScript を使用してサーバーにデータを送信し、ページをリロードせずに応答を取得する」という意味の凝った用語です。AJAX について特別なことは何もありません。単純な古い JavaScript を使用して HTTP 要求を送信するだけです。

技術的なことのほとんどを処理する JavaScript ライブラリであるjQueryを確認してください。具体的には、$_POST システム変数を使用して PHP スクリプトにデータを送信できるpost()関数に注目してください。そのページには多くの明確な例があります。

AJAX を使用するために jQueryは必要ないことに注意してください。jQuery は、物事を簡単にするための単なるライブラリです。AJAX の JavaScript 側がどのように機能するかを本当に知りたい場合は、Mozillathis oneなど、数多くあるチュートリアルの 1 つに従ってみてください。

于 2012-10-17T20:25:07.007 に答える
-1

AJAXはあなたが探している答えです。

すでに基本的なことは理解しているようですが、明確にするために、Javascript はクライアント側で実行され、PHP はサーバー側で実行されます。そのため、PHP/MySQL とやり取りするには、サーバーにコールバックする必要があります。

AJAX の目的は、ページの更新を必要とせずにこれを行うことです。

于 2012-10-17T20:20:22.107 に答える