[英]ASP.NET MVC caching and IoS safari
我有一個像
[OutputCache(Location = System.Web.UI.OutputCacheLocation.Any, VaryByParam = "category", Duration = 60)]
public ActionResult Search(string keywords, string location, string category)
{
// ...返回視圖等。}
和ajax請求對此視圖
function refreshPager(pageNum, nextOper) {
$.ajax({
url: String.format("/Adv/GetPagesData?currentPage={0}&SortBy={1}&keywords={2}&location={3}&country={4}&category={5}&minPrice={6}&maxPrice={7}&type={8}&condition={9}", pageNum, $("#SortBy option:selected").text(), $("#keywords").val(), $("#id-location").val(), $("#Country option:selected").val(), $("#search-category option:selected").val(), $("#minPrice").val(), $("#maxPrice").val(), $("#ajaxTabs li[class='active']").attr("id"), $("#condition option:selected").val()),
method: 'GET',
datatype: 'json',
data: { query: 'test' },
success: function (pdata) {
pagedata = pdata;
maxPages = pdata.length;
if (pageNum < 1) pageNum = 1;
if (pageNum > maxPages) pageNum = maxPages;
currentPage = pageNum;
ko.mapping.fromJS(pagedata, {}, viewModel.PagedItems);
$(".pageItem").removeClass("selectedItem");
$(".pageItem:eq(" + pageNum + ")").addClass("selectedItem");
}
}).fail(function () { alert('Ошибка получения данных, попробуйте еще раз') }).success(function () {
count = 0;
$('.pager-btn').each(function (index, el) {
if (el.innerHTML == pageNum) {
$(el.parentNode).addClass("active");
count++;
}
});
if (count == 0) {
$('#NotFound').show();
} else {
$('#NotFound').hide();
}
nextOper(currentPage);
});
}
多數民眾贊成在所有Windows瀏覽器中都能正常工作,但在IoS Safari中失敗。 如果關閉了caching屬性,那么在Safari中也可以。 也許有人也遇到了這個問題?
無論您使用哪種jQuery方法($ .get,$。ajax等),以下內容都將阻止所有以后的AJAX請求被緩存。
$.ajaxSetup({ cache: false });
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.