落とし穴.load()および.get()

非常に多くの場合、テンプレートまたは別のファイルのコンテンツを接続する必要があります。 残念ながら、ホスティングオプションが限られているため、すべてのユーザーがPHでインクルード機能を使用できるわけではありません。 これにより、.load()および.get()関数へのAJAX呼び出しが必要になります。

プロパティ

.load() -サーバーからデータをダウンロードし、返されたHTMLを指定された要素に配置します。
url
タイプ: 文字列
リクエストの送信先のURLを含む文字列。
データ

タイプ: オブジェクトまたは文字列
リクエストとともにサーバーに送信される単純なオブジェクトまたは文字列。

機能「完了」

タイプ:関数(String responseText、String textStatus、jqXHR jqXHR)
リクエストが完了したときに実行するコールバック関数

.get() -HTTP GETリクエストを使用してサーバーからデータをダウンロードします。
url
タイプ: 文字列
リクエストの送信先のURLを含む文字列。

データ

タイプ: オブジェクトまたは文字列
リクエストとともにサーバーに送信される単純なオブジェクトまたは文字列。

機能「完了」

タイプ:関数(String responseText、String textStatus、jqXHR jqXHR)
要求が完了したときに実行されるコールバック関数。

データ型

タイプ: 文字列
サーバーから予想されるデータのタイプ。 デフォルト:Intelligent Guess(XML、JSON、スクリプト、またはHTML)。



したがって、経験から来た1つのBUTを除いて、ほぼ同じ機能が得られます。 たとえば、head.htmlファイルのコンテンツなど、ファイルのコンテンツだけを含めてセクションに入れたい場合、両方の関数で同じ結果が得られます。 ただしセクション(head、div) のコンテンツを補足する必要がある場合、つまり既にコンテンツがある場合、 .load()関数はブロック a のコンテンツを完全に置き換え 、JQUEY関数を使用してテキストを補足するなどの試みを行います。そしてmake html()+ ...、 結果は追加された関数の永遠のループになります

同時に、 .get()関数が残りの関数とともに機能し 、(。append()、.html())がすでに妥当であり、ループが発生しない場合。 ただし、デフォルトで.get()がコンテンツを完全置き換え 、success()関数でappen()を使用すると、コードが補完されることを忘れないでください。




.load()

$('article').each(function () { $(this).load("template/head.html"); //        article }); 

.get()

 $('article').each(function () { $(this).get("template/head.html"); //        article }); 

.load()

 $('article').each(function (i, elem) { $(this).load("template/head.html", function (data) { $(elem).append(data); }); //       head,   break, continue   }); 

.get()

 $('article').each(function (i, elem) { $(this).get("template/head.html", function (data) { $(elem).append(data); }); //       head }); 



.load()-HTMLファイルからより多くのPHPスクリプトにアクセスするための関数。
.get()は、HTMLファイル間の通信または補足ファイルのコンテンツを取得するための関数です。

Source: https://habr.com/ru/post/J280298/


All Articles