ホームページ > 記事 > ウェブフロントエンド > EasyUI_jquery の IE でデータグリッドのリロードに失敗する問題の解決策
質問
最近 EasyUI を使用してバックエンド システムを開発しましたが、テスト中に $('dg').datagrid('reload'); テーブル データを再ロードするときに IE がまったく応答しませんでした。後でわかったのですが、応答がなかったのではなく、ブラウザがキャッシュを使用していたことが分かりました。
解決策
オンラインネチズンがまとめた解決策には次のようなものがあります:
1. URL の後にタイムスタンプを追加して、最初のロード時と再ロード時にアクセスされる URL を矛盾させ、システムが IE キャッシュを使用できないようにします。テストを通じて、EasyUI にはリクエストを行うときにすでに乱数の文字列_145232xxx が付属していることが判明しましたが、IE は引き続きキャッシュを使用します。その後、要求された js 内の URL に rand=xxx (Math.rand() によって生成された乱数) を追加したところ、キャッシュは使用されなくなりました。 (ie8からie11までテストしました)
2. を
に追加するなどして使用します。残念ながら、多くのネチズンと同じように、私もこの方法では失敗しました。 :(
3. データグリッドの負荷に対応するメソッドを「POST」として宣言します。この解決策が最も高速です。しかし、いくつか質問があります:
・サーバーインターフェースがPOSTメソッドをサポートしていない場合、サポートを終了します。
• サーバー インターフェイスがそれ自体で制御できる場合、フロントエンドにこの種の妥協を行うと、インターフェイスはまったく RESTful ではなくなります。クエリ用の RESTful インターフェイスの設計は基本的に GET であることを知っておく必要があります。
概要
最初の方法は、自分で URL に乱数を追加することです。申し訳ありませんが、コードにこだわるので、サーバー インターフェイスは変更したくありません _(:з ∠)_。