1

jQuery jEditableプラグインを使用して、Web サイトの一部を編集しています。

テキストはテキスタイル形式を使用するため、LoadURLオプションを使用して、書式設定されていないデータを取り込みます。

問題は、ユーザーがテキストを編集してから、それを再編集するために戻ったときに発生し、ajax 呼び出しによってキャッシュされた結果が返されます。

ランダムなパラメータを追加しようとしましたが、同じ乱数が追加されてしまい、役に立ちません。

        $(".edit").livequery(function(){$(this).editable("<%=Page.ResolveUrl("~/savetext.aspx") %>", {
             loadurl   : '<%=Page.ResolveUrl("~/gettext.aspx") %>?Rnd=' + Math.random().toString(),
             type      : 'textarea',
             cancel    : 'Cancel',
             submit    : 'Save',
             indicator : 'Saving...',
             rows      : 4,
             tooltip   : 'click to edit'
            });
        });

各呼び出しでランダムなパラメータを追加するよう jEditable に指示する方法はありますか?

4

1 に答える 1

1

私もこれを見ていますが、断続的にしか見られません。gettext.aspx (私の場合は PHP コード) に相当するもので、ブラウザーのキャッシュを防ぐために応答ヘッダーを設定していないことに気付きました。私はこのようなものを追加ましたが、動作が改善されているようです:

header("Expires: Mon, 20 Dec 1998 01:00:00 GMT" );
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-cache, must-revalidate" );
header("Pragma: no-cache" );

私はASP開発者ではありませんが、検索した後、同等のものがあると思います:

HttpContext.Current.Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1));
HttpContext.Current.Response.Cache.SetValidUntilExpires(false); 
HttpContext.Current.Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches);
HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache);
HttpContext.Current.Response.Cache.SetNoStore(); 
于 2010-01-20T14:40:40.013 に答える