0

同じページにとどまりながらGET変数を使用する方法があるかどうか疑問に思っていました。

特定のリンクがクリックされた場合に GET 変数を使用して実行したい php/mysql スクリプトがあります。ただし、リンクがクリックされたら、ページ上の何も変更したくありません。スクリプトを舞台裏で実行したいだけです。

現在、ユーザーが検索ページにいて項目をお気に入りに追加すると、すべての検索結果が消えてしまい、b/c 再送信しています

注: 以下の [お気に入りに追加] リンクは、ユーザーがクリックしたときに表示されるページと同じページにリンクしています。

if(isset($_SESSION['username'])){
     echo '<div id="favbutton"><a href="search.php?id='.$id.'"><img src="./image/staricon.png"/>Add to favorites</a></div>';
}

ありがとうございました

4

3 に答える 3

1

jQuery には、これを実現するために使用できる .get() 関数があります: http://api.jquery.com/jQuery.get/。これを使用して、任意の数の GET パラメーターをサーバー側スクリプトに渡すことができます。そのスクリプトが何らかのデータを返す場合、コールバックを実装して、データの処理方法を決定できます。

jQuery .get() の使用例を次に示します。jQuery パラダイムの 1 つは「邪魔にならない JavaScript」であるため、時代遅れの onclick 属性ではなく、独自のスクリプトにイベント ハンドラーを追加するのが標準です。とはいえ、サンプル実装は次のとおりです。

jQuery(document).ready(function($) {
    $(".clickable").click(function(e) { // Gets all elements with a class of "clickable"
        $.get("myScript.php",
            { myGETVar: $(this).attr("src") }, // Passes the "src" of the clicked element as "myGETVar"
            function(returnedData) {
                alert("The script returned: " + returnedData);
            }, "html" // In this case we're expecting the script to return html
        );
    });
}

これは単純な例ですが、任意の数の要素 (この場合は「クリック可能」クラスの要素) にクリック ハンドラーをアタッチして ajax リクエストを作成する方法を示しています。この例では、クリックされた要素の「src」を渡し (これを画像で使用したいとします)、それを GET 変数「myGETVar」として myScript.php に渡します。

これが役立つことを願っています!

于 2012-05-10T14:22:29.223 に答える
0

これを行うには、 ajax (JavaScript のみ) またはjQuery getを使用できます。

于 2012-05-10T14:21:31.783 に答える
0

AJAXを使用する必要があり、 jQuery.Ajaxを使用して簡単に使用できます

それをお気に入りに追加し、成功時にユーザーにメッセージを表示するには、サーバー スクリプトに静かに呼び出しを行う必要があります。

于 2012-05-10T14:24:31.733 に答える