2

特定のdivのみをリロードしようとしています

$("#captcha").html('<?php echo 'abc';?>'); // just as test - works well

divコンテンツがはるかに大きいので、私は試しました:

$("#captcha").html('<?php include 'myFile.php';?>'); // doesn't work

.phpファイルからdivにコードを呼び出すにはどうすればよいですか?

4

5 に答える 5

6

使用する$('div').load('phpfile.php')

$.loadhtmlファイルまたはphpなどのサーバー側スクリプトを介してサーバーからデータをロードするために使用されます。何ができるかを概観する$.loadために、取得するページの後にセレクターを含めることで、ページフラグメントをロードすることもできます。このようにして、選択した要素のコンテンツのみがコンテナにロードされます。リクエストが完了した後(コールバック)、データを渡して関数を実行することもできます。

$.html既存の要素のコンテンツを取得または設定するためにのみ使用されるため、異なります。$.postただし、、などのajaxメソッドとともに使用して、既存の要素のコンテンツを更新でき$.getます$.ajax

$.loadメソッドと$.htmlメソッドがどのように機能するかを深く理解したい場合は、jQueryのドキュメントを読んでください。

于 2012-08-10T13:23:49.797 に答える
1

ajax経由でphpをロードしてみましたか?http://api.jquery.com/load/jqueryを使用している場合

于 2012-08-10T13:24:12.753 に答える
1

それを変数にロードしてから、文字をサニタイズします。私はあなたがあなたのjavascriptを壊すいくつかの特別な文字をそこに持っているかもしれないと思います。

于 2012-08-10T13:24:49.820 に答える
1

PHPは前処理されており(PHP:Hypertext Preprocessor)、新しいリクエストなしでは使用できません。loadphpファイルの結果をjavascriptにロードするためにを使用する必要があります。ページが読み込まれると、追加のAJAXリクエスト(または新しいリクエストを行う他のメソッド)がないと、それ以上のPHPを実行できません。

PHPはサーバー側です。つまり、応答が送信される前にサーバーにソフトウェア(PHP)がインストールされて解釈されます。HTTPリクエストは、「1回限りの」操作です。つまり、応答が送信されると、クライアントとサーバー間の接続が閉じられます。

PHPやその他のサーバー側言語を、キッチンのシェフと考えてください。あなたがピックアップのために食べ物を注文したとしましょう、あなたはあなたが欲しいものをレストランに伝え、それをピックアップするために去ります。あなたはあなたの家に戻り、あなたの友人は彼も彼らから何かを欲しがっていると決めました。あなたはシェフを連れて帰らなかった、彼らが作った食べ物だけを持ってきた-それであなたの友人の注文を得る唯一の方法はずっと戻ってそれを再び拾うことである。

上記は文法的な混乱(初期)だと確信していますが、私はその要点を理解できたと思います。.loadとにかく、あなたはphpファイルをロードするために使用したいと思うでしょう:

$("captcha").load('myfile.php');

loadページにAJAXリクエストを送信しますmyfile.php

于 2012-08-10T13:25:52.327 に答える
1

loadjqueryでメソッドを試すことができます

そのような

$('#captcha').load('myFile.php')

于 2012-08-10T13:25:56.297 に答える