ホームページ >ウェブフロントエンド >jsチュートリアル >jQuery ajax Loadがcache_jqueryを使用しないようにする方法のまとめ

jQuery ajax Loadがcache_jqueryを使用しないようにする方法のまとめ

WBOY
WBOYオリジナル
2016-05-16 16:58:391017ブラウズ

1. 使用法
jquery の load 関数は、別のファイルを要求し、それを現在の DOM にロードする呼び出しです。load メソッドの完全な形式は次のとおりです。 url, [data], [callback] ) (パラメータがない場合は GET リクエストであり、パラメータがある場合は POST メソッドであることに注意してください)。

* url: は、インポートされるファイルのアドレスを指します。
* データ: オプションのパラメーター。Load は静的 HTML ファイルだけでなく、PHP ファイルなどの動的スクリプトもインポートできるため、動的ファイルをインポートする場合は、渡されたパラメーターをインポートできます。ここに置かれています。
* callback: オプションのパラメーター。load メソッドを呼び出してサーバーから応答を取得した後に実行される別の関数を指します。

キャッシュによりページの読み込みはある程度高速化されますが、多くの場合問題が発生します。前回の記事では、jQuery での Load メソッドの使用方法を簡単に紹介しました。実際のアプリケーションでは、ブラウザのキャッシュの問題が発生する可能性があります。たとえば、IE7 でこの問題が発生しました。

jQuery サンプル コードをロードします:

コードをコピーします コードは次のとおりです:

$(document).ready(function(){
$("#labels").load("/blog/categories/labels.html");
//ページが#labels
})のDOM要素にlabels.htmlのコンテンツを挿入します。

labels.htmlを更新した後、IE7のloadメソッドは依然として古いメソッドを使用します。ラベル.html、更新キーを押しても機能しません。幸いなことに、jQuery には、ajax によるキャッシュの使用を防ぐメソッドが用意されており、次のステートメントをヘッド JavaScript ファイルに追加して問題を解決します。
コードをコピー コードは次のとおりです。

$.ajaxSetup ({
キャッシュ) : false / /AJAX 対応キャッシュを閉じます
});

また、キャッシュ問題を解決する方法をいくつか紹介します。注: jQuery の読み込みの問題についてはテストしていません。これらのメソッドは参照のみを目的としています。

1. ファイル名を変更します (labels.html を label_new.html に変更するなど)。ただし、これは簡単な作業であり、通常は誰も行いません。

2. label.html の後に特定の時刻を追加します (labels.html?20081116 など)。実際の作業では、css/javascript ファイルを更新した後、ファイルがキャッシュされないようにするために常にこの方法を使用しています。

3. label.html ファイルの先頭に次のステートメントを追加します。


4. ロード関数は HTML を呼び出すだけでなく、labels.php などのスクリプトを呼び出すこともできます。

コードをコピーします コードは次のとおりです:

header("Cache-Control: no-cache, must-revalidate") ;
?>

他の 2 つの解決策:
リクエスト パスの現在時刻に時間パラメーター値を追加するか、フォームフィールド内の非表示のフィールドは、フィールドの値を現在の時刻に設定します。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。