ホームページ  >  記事  >  ウェブフロントエンド  >  EasyUI_jquery の IE でデータグリッドのリロードに失敗する問題の解決策

EasyUI_jquery の IE でデータグリッドのリロードに失敗する問題の解決策

WBOY
WBOYオリジナル
2016-05-16 16:10:411377ブラウズ

質問

最近 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 に乱数を追加することです。申し訳ありませんが、コードにこだわるので、サーバー インターフェイスは変更したくありません _(:з ∠)_。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。