0

私のサイトのホームページでは、jquery.load()が で実行され$(document).ready()、次のような URL を要求します。

"/ajax/Listings.aspx?pageindex=0"

このページが実行されると、Page_Load()aは表示される製品を返すListViewa にバインドされます。DataSet項目がない場合は、次のEmptyDataTemplateように表示されます。

「現在、商品はありません」

私のシステムには、表示されるべき製品が 1 つあります。FireFox では、これが返され、ページに正しく表示されます。

ただし、Internet Explorer ではEmptyDataTemplateが表示されます。さらに、URL ("/ajax/Listings.aspx?pageindex=0") が IE9 ブラウザーで (新しいタブとして) 開かれると、1 つの製品が返されます。

ListViewIE9 がwhen にアイテムをバインドしないのはなぜjQuery.Load()ですか?

4

2 に答える 2

1

これを投稿した直後に、私は自分で解決できるかどうか試してみて、解決策を見つけたと信じています!

別のタブで ajax ページを開いたので、ホーム ページに戻ると、これが表示されていました。

したがって、これはキャッシュされていると思います。キャッシュを更新する唯一の方法は、新しいタブで開くことです。

そのため、毎回ページがキャッシュされないように、URL の末尾にランダムな文字列を追加しました。

function random_string() { return String((new Date()).getTime()).replace(/\D/gi, '') }

var url = "/ajax/Listings.aspx?pageindex=0&rnd=" + random_string
于 2011-05-13T11:08:16.670 に答える
1

URL にランダムな文字列を追加することはできますが、これを処理する最善の方法は、キャッシュを無効にすることです。

$.ajaxSetup ({
    // Disable caching of AJAX responses
    cache: false
});

ここから撮影

于 2013-02-27T16:40:01.763 に答える