2

さて、この質問は以前に尋ねられたことがあることは知っていますが、私はPHPとJavaScriptに非常に慣れておらず、この質問に対する答えを探し始めるまでajaxについて聞いたことがなかったので、以前の答えを理解していません。

基本的にSQLデータベース内の一連のビデオであるサイトを作成しています。一度に1つのビデオが表示され、次と前のビデオボタンが必要です。

しかし、私はこのajaxのことを乗り越えることができないので、私の質問はさらに単純です。私はこの質問/回答を見て、それが私が尋ねていることをかなり要約していると思います:

ユーザーがリンクをクリックしたときにPHPコードを実行するにはどうすればよいですか?

その正確なコードをコピーしました、

    <script type="text/javascript">
       function doSomething() {
       $.get("backend.php");
          return false;
      }
     </script>

<a href="#" onclick="doSomething();">Click Me!</a>

そして私のbackend.phpファイルでは、文字通り <?php echo "Hello" ?>テストするだけなので、リンクをクリックするとjavascript onClickイベントがトリガーされ、backend.phpファイルが呼び出され、ページに「Hello」と出力されます。ただし、リンクをクリックしても何も起こりません。

最終的には、明らかに、php関数や変数の呼び出しなどをもっと複雑にする必要がありますが、ほとんどの場合、自分で物事を理解するのが好きなので、学びます。しかし、私はこのビットに固執しました。また、ここで別の質問をしますが、質問に答えるためにサイトのユーザーに「お返し」したいのですが、HTMLとCSSで他の人の質問に答えるのに十分なだけです。私がいくつか答えることができるように、ここでより簡単な質問を見つけてください。

前もって感謝します :)

4

6 に答える 6

3

結果に対して何もしないので、何もしません。私の推測では、あなたが取った例では、それはいくつかの仕事をし、ユーザーには何も表示しません。したがって、ユーザーに出力を返さずにサーバー上で実行したいものがある場合は、それを実行するだけで機能します。

jQueryの.get()ドキュメントからの例

あなたがすること:

例:test.phpページをリクエストしますが、返された結果は無視します。

$.get("test.php");

あなたがしたいこと:

例:test.phpをリクエストした結果をアラートします(返されたものに応じて、HTMLまたはXML)。

$.get("test.php", function(data){
    alert("Data Loaded: " + data);
});
于 2012-08-23T17:46:03.323 に答える
3

.get()ドキュメントを見てください。間違って使用しています。

少なくとも、データを渡し(オプション)、返されるデータを処理する必要があります。

$.get("backend.php",
    {
        // data passed to backend.php goes here in 
        //
        // name: value
        //
        // format. OR you can leave it blank.
    }, function(data) {
        // data is the return value of backend.php
        // process data here
    }
);

データを渡す場合は、をbackend.php使用してデータを取得できます$_GET。この場合:

$_GET['name'];
于 2012-08-23T17:46:10.917 に答える
1
$.get("test.php", { name: "John", time: "2pm" }, function(data) {
   alert("Data Loaded: " + data);
 });

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

于 2012-08-23T17:46:19.637 に答える
1

これはデータに警告します。現在、その関数はfalseのみを返します。

$.get('backend.php', function(data) {
  alert(data);
});
于 2012-08-23T17:46:36.227 に答える
1

コードは、設定したとおりにページに印刷されません。あなたはページを呼び出したという点でそこへの道の一部ですが、応答は何らかの方法で処理される必要があります。Chromeで開発者ツールを開くと、[ネットワーク]タブをクリックし、リクエストとレスポンスを確認して、コーディングしたものが実際に機能していることを確認できますが、ここでレスポンスをどこかに配置する必要があります。

2番目の変数として関数を$.getに渡すことで、リクエストをページに表示させることができます。次のようなものを試してください。

$.get("backend.php", function (data) { $('body').append(data); } );
于 2012-08-23T17:50:49.627 に答える
0

コードはそのデータを処理していません。したがって、代わりに、次のコードを使用する必要があります。

$.get("backend.php", function(response) {
    alert(response);
  })

または、そのデータをUIに表示するには、そのデータを任意のhtml要素に割り当てます。

詳細については、jQuery.get()リンクにアクセスしてください。

于 2012-08-23T17:50:50.000 に答える