jqueryのAjaxのキャッシング問題解決策の概要

今日では、Ajaxの機能を実行すると、送信されたデータが同じで入手することが見出されている方法により提出されたデータを使用し始め、返されたデータもリフレッシュするのに長い時間ではない、と私は、これは、後にいくつかのAjaxのキャッシュ問題解決をコンパイルし、インターネット上で、問題のAjaxのキャッシュであることを知って、ここではあなたと共有します。ソリューション:1

 
今日では、Ajaxの機能を実行すると、送信されたデータが同じで入手することが見出されている方法により提出されたデータを使用し始め、返されたデータもリフレッシュするのに長い時間ではない、と私は、これは、後にいくつかのAjaxのキャッシュ問題解決をコンパイルし、インターネット上で、問題のAjaxのキャッシュであることを知って、ここではあなたと共有します。
 

ソリューション:

図1は、乱数は、リンク要求に追加のjQueryを使用している場合、直接配置:$ .ajaxSetup({キャッシュ:偽})。

図2に示すように、POSTデータを設定タイプ、及びランダムパラメータを変更:「A = B」(パラメータは、そうでなければ、まだキャッシュすること、設定されなければなりません)

3、話は乱数Math.random()を使用して、別の番号を生成し、またはまたはタイムスタンプ+新しいDate();

 コードは以下の通りです  

$のアヤックス({
    タイプ: "GET"
    URL: 'test.htmlという'、
    キャッシュ:偽、
    データ型: "HTML"、
    成功:関数(MSG){
        警告(MSG);
    }
});

若しくは

$アヤックス({
    タイプ: "GET"
    URL:+ Math.random()、 'test.htmlというの?'
    キャッシュ:偽、
    データ型: "HTML"、
    成功:関数(MSG){
        警告(MSG);
    }
}) ;

その後、インターネット上でもキャッシュソリューションを合計しますAJAXのGET要求の多くを見つけるために、

1、プラスサービス側ヘッダ( "のCache-Control:キャッシュ-NO、マスト再検証");
2、送信要求のAjax anyAjaxObj.setRequestHeader( "IF修飾-ため"、 "0")を追加する前に、
3 、送信要求のAjax anyAjaxObj.setRequestHeader( "のCache-Control"、 "キャッシュ-NO")を追加する前に、
4、URLパラメータを追加した後のAjax "?新鮮=" + Math.random( ); // もちろん、ここでのパラメータは、任意の取ることができ、新鮮な
))(新しい新しいURLパラメータプラス日付+の後に、第三及び第四の方法と同様、5 getTime(;「タイムスタンプ=?。」
6、POST代替GET:お勧めできません。

ポリ小扁ヒントあなた:私たちの上記の方法でAJAXのキャッシングの問題は簡単なテストがそれを好む自国民に応じて有効であるが、当然のことながら、時には我々は時々我々が実際の状況に応じて設定する必要はないかもしれないキャッシュ機能を必要としています。

おすすめ

転載: www.cnblogs.com/zhuyeshen/p/11599254.html