欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > ASP.NET MVC中使用jQuery時的瀏覽器緩存問題詳解

ASP.NET MVC中使用jQuery時的瀏覽器緩存問題詳解

熱門標簽:400電話辦理怎么樣 蘇州如何辦理400電話 西寧呼叫中心外呼系統線路商 百應電話機器人外呼系統 聯通官網400電話辦理 臨沂智能電話機器人加盟 地圖標注軟件免費下載 網絡電話外呼系統上海 外呼電話機器人成本

介紹

盡管jQuery在瀏覽器ajax調用的時候對緩存提供了很好的支持,還是有必要了解一下如何高效地使用http協議。

首先要做的事情是在服務器端支持HTTP GET,定義不同的URL輸出不同的數據(MVC里對應的就是action)。如果要使用同一個地址獲取不同的數據,那就不對了,一個HTTP POST也不行因為POST不能被緩存。許多開發人員使用POST主要有2個原因:明確了數據不能被緩存,或者是避免JSON攻擊(JSON返回數組的時候可以被入侵)。

緩存解釋

jQuery全局對象里的ajax方法提供了一些options來支持緩存和Conditional GETs功能。

$.ajax({
  ifModified: [true|false],
  cache: [true|false],
});

ifModified選項定義的是在ajax調用的時候是否支持Conditional GETs功能。jQuery會自動幫我們處理服務器端返回的名為Last-Modified的header值,然后在隨后的請求里的header里發送If-Modified-Since。這需要我們的MVC Controller要實現Conditional GETs功能才能用。Conditional GETs功能在http緩存上下文中用于重新驗證緩存中過期的條目。如果jQuery認為一個條目已經過期了,它首先會請求服務器使用Conditional GETs功能重新驗證該條目,如果服務器返回狀態碼304(Not modified),jQuery會重新使用緩存里的該項目,這樣的話,我們可以節約很多流量去下載頁面內容。

cache選項基本上是覆蓋服務器端返回的http header里的所有關于緩存的設置,如果設置cache選項為false的話,jQuery會在請求的URL后面附件一個時間戳,以便區分之前的URL地址,這樣沒錯請求的內容都是最新的,也就是說瀏覽器每次接收的都是新地址,自然返回的都是最新數據。

讓我們來看幾個場景:

服務器端響應里設置No-Cache

服務器端為王,如果服務器端明確定義了response響應不能被緩存的話,jQuery也無能為力。ajax里的cache選項將被忽略。

JS代碼:

$('#nocache').click(function () {
  $.ajax({
    url: '/Home/NoCache',
    ifModified: false,
    cache: true,
    success: function (data, status, xhr) {
      $('#content').html(data.count);
    }
  });
});

C#代碼:

public ActionResult NoCache()
{
  // 禁用緩存
  Response.Cache.SetCacheability(HttpCacheability.NoCache);
  return Json(new { count = Count++ }, JsonRequestBehavior.AllowGet);
}

服務器端響應里設置過期時間

服務器端設置過期時間用于緩存數據,該條目在客戶端將依據過期時間被緩存。

JS代碼:

$('#expires').click(function () {
  $.ajax({
    url: '/Home/Expires',
    ifModified: false,
    cache: true,
    success: function (data, status, xhr) {
      $('#content').html(data.count);
    }
  });
});

C#代碼:

public ActionResult Expires()
{
  Response.Cache.SetExpires(DateTime.Now.AddSeconds(5));
  return Json(new { count = Count++ }, JsonRequestBehavior.AllowGet);
}

客戶端從來不緩存數據

客戶端決定每次都要最新的數據(不能使用緩存),也就是說ajaxi里的cache選項設置為false,不管服務器端如何定義,jQuery每次請求的URL地址都是唯一不同的,目的是每次都獲取最新的內容。

JS代碼:

$('#expires_nocache').click(function () {
  $.ajax({
    url: '/Home/Expires',
    ifModified: false,
    cache: false, // 這里是關鍵
    success: function (data, status, xhr) {
      $('#content').html(data.count);
    }
  });
});

C#代碼:

public ActionResult Expires()
{
  // 不管服務器端怎么設置都沒用
  Response.Cache.SetExpires(DateTime.Now.AddSeconds(5));
  return Json(new { count = Count++ }, JsonRequestBehavior.AllowGet);
}

服務器端和客戶端使用Conditional Gets功能驗證緩存數據

客戶端將條目放在緩存里,在過期之后重新驗證。服務器端必須實現Conditional GET功能(使用ETags或者last modified的header)。

JS代碼:

$('#expires_conditional').click(function () {
  $.ajax({
    url: '/Home/ExpiresWithConditional',
    ifModified: true, // 這里是關鍵
    cache: true,
    success: function (data, status, xhr) {
      $('#content').html(data.count);
    }
  });
});

C#代碼:

public ActionResult ExpiresWithConditional()
{
  if (Request.Headers["If-Modified-Since"] != null  Count % 2 == 0)
  {
    return new HttpStatusCodeResult((int)HttpStatusCode.NotModified);
  }

  Response.Cache.SetExpires(DateTime.Now.AddSeconds(5));
  Response.Cache.SetLastModified(DateTime.Now);

  return Json(new { count = Count++ }, JsonRequestBehavior.AllowGet);
}

上述MVC action中的代碼只是一個例子(非真實代碼),在真實的實現中,服務器端應該能夠知道數據自從上次響應以后是否被修改過。

總結

詳細通過這4個場景,大家應該了解了ajax請求的緩存技術了吧,我就不做總結了。

英文原文來自:http://weblogs.asp.net/cibrax/archive/2012/02/10/hacking-the-browser-cache-with-jquery-and-asp-net-mvc.aspx

以上這篇ASP.NET MVC中使用jQuery時的瀏覽器緩存問題詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • ASP.NET Core緩存靜態資源示例詳解
  • 詳解ASP.NET Core 中間件之壓縮、緩存
  • Asp.Net中MVC緩存詳解
  • asp.net性能優化之使用Redis緩存(入門)
  • ASP.NET下使用xml反序列化、緩存依賴實現個性化配置文件的實時生效
  • ASP.NET頁面緩存常見的4種方式
  • 詳解Asp.Net Core 2.1+的視圖緩存(響應緩存)

標簽:平涼 慶陽 聊城 臨夏 海西 清遠 中衛 甘肅

巨人網絡通訊聲明:本文標題《ASP.NET MVC中使用jQuery時的瀏覽器緩存問題詳解》,本文關鍵詞  ASP.NET,MVC,中,使用,jQuery,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《ASP.NET MVC中使用jQuery時的瀏覽器緩存問題詳解》相關的同類信息!
  • 本頁收集關于ASP.NET MVC中使用jQuery時的瀏覽器緩存問題詳解的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    日本一区二区三区在线不卡| 另类的小说在线视频另类成人小视频在线 | 久久精品国产精品亚洲红杏| 4438x全国最大成人| 国产高潮流白浆| 欧美激情资源网| 国产一区二区免费看| 娇妻被老王脔到高潮失禁视频| 日韩免费高清av| 免费观看一级欧美片| 草草地址线路①屁屁影院成人| 91麻豆精品国产91久久久久| 亚洲一区二区三区小说| 免费看三级黄色片| 欧美日韩久久久一区| 亚洲国产精品久久人人爱蜜臀| 美女流白浆视频| 欧美人xxxx| 日韩高清欧美激情| 在线免费观看麻豆| 久久免费的精品国产v∧| 激情丁香综合五月| www.4hu95.com四虎| 欧美激情一区在线| 成人免费毛片片v| 日本黄色一区二区| 亚洲综合在线电影| 精品人妻伦一二三区久| 欧美一级片在线| 美女网站色91| 国产成人一区二区在线观看| 国产午夜三级一区二区三| 国产成人在线电影| 色狠狠一区二区三区香蕉| 一区二区三区精品| 国产真实乱人偷精品| 欧美成人猛片aaaaaaa| 韩日av一区二区| 国产一区二区播放| 一区二区三区在线观看网站| 国产精品一区二区无码对白| 欧美电影免费观看高清完整版在线| 久久超碰97中文字幕| 午夜激情福利电影| 亚洲精品国产精华液| 在线免费播放av| 国产午夜精品福利| 91性感美女视频| 欧美一区二区大片| 国产麻豆视频一区| 91福利视频网站| 日本伊人色综合网| 伊人久久久久久久久久久久久久| 亚洲免费观看高清完整版在线观看熊 | 亚洲激情自拍视频| 荫蒂被男人添免费视频| 久久久久久久久久久电影| 成人理论电影网| 制服.丝袜.亚洲.中文.综合| 狠狠网亚洲精品| 色婷婷精品久久二区二区蜜臂av | 亚洲色欲色欲www| 五月天丁香社区| 久久精品视频一区二区三区| 91丨九色丨黑人外教| 精品三级在线看| 成人高清在线视频| 日韩一区二区精品| 成人亚洲精品久久久久软件| 91精品国产综合久久精品性色 | 黄色av片三级三级三级免费看| 国产精品久久一卡二卡| 亚洲の无码国产の无码步美| 日本一区二区三区四区| 亚洲v在线观看| 国产精品天美传媒| 国产精品一级黄片| 亚洲同性gay激情无套| 女~淫辱の触手3d动漫| 亚洲精品视频自拍| 国产在线综合视频| 午夜精品久久久| 在线看的片片片免费| 免费看日韩精品| 在线观看亚洲精品视频| 国产麻豆成人传媒免费观看| 欧美高清激情brazzers| 高清不卡一二三区| 精品剧情在线观看| 野花视频免费在线观看| 中文字幕二三区不卡| 波多野结衣办公室33分钟| 亚洲麻豆国产自偷在线| 超碰人人人人人人人| 三级精品在线观看| 欧美自拍丝袜亚洲| 国产 日韩 欧美大片| 精品欧美一区二区在线观看| 欧美xxxx日本和非洲| 亚洲欧洲综合另类在线| 成人自拍小视频| 国产一区美女在线| 欧美sm美女调教| 91精品小视频| 亚洲国产精品久久久久婷婷884 | 韩国三级hd中文字幕有哪些| 国产精品电影院| 九九这里只有精品视频| 狠狠色丁香久久婷婷综合丁香| 日韩欧美中文字幕精品| 天天躁日日躁狠狠躁av| 亚洲影视在线播放| 在线观看91精品国产入口| 成人理论电影网| 中文字幕一区二区三区在线不卡 | 精品国产乱码久久久久久夜甘婷婷 | 美女一区二区三区在线观看| 欧美日韩一区在线| 懂色中文一区二区在线播放| 国产欧美久久久精品影院| 日本黄色录像片| 亚洲色图在线看| 99自拍视频在线| 国产成人自拍网| 久久久久久久久久久久电影 | 成年女人免费视频| 一区二区三区免费| 日本精品视频一区二区三区| 不卡av电影在线播放| 中文字幕精品一区二区三区精品| 日本 欧美 国产| 国产精品综合在线视频| 久久综合九色综合久久久精品综合| 国产精品伦子伦| 亚洲成av人片| 欧美一级片在线| 成人性生活免费看| 日精品一区二区三区| 在线播放国产精品二区一二区四区 | 亚洲免费电影在线| 色呦呦国产精品| 免费看的av网站| 亚洲午夜免费电影| 欧美日韩欧美一区二区| 无码人妻丰满熟妇啪啪网站| 一区二区成人在线| 制服视频三区第一页精品| 黑丝av在线播放| 蜜桃av一区二区| 26uuu亚洲| 免费人成又黄又爽又色| 国产精品99精品久久免费| 国产人伦精品一区二区| 中文字幕美女视频| 成人高清视频在线| 亚洲综合一区在线| 337p亚洲精品色噜噜| 久久先锋影音av| 日韩一区二区三区视频在线| 国产免费a级片| 日韩经典一区二区| 欧美成人aa大片| 免费视频91蜜桃| 日本午夜精品视频在线观看| 久久精品欧美日韩精品| 国产一区第一页| 99久久精品国产精品久久| 亚洲黄色尤物视频| 欧美一区二区三区四区在线观看| 亚洲熟妇一区二区三区| 国产美女一区二区| 中文字幕一区在线观看视频| 很污很黄的网站| 天堂va欧美va亚洲va老司机| 日韩精品国产精品| 久久久久久久久久久久久久久99| 中文字幕无码日韩专区免费| 国产综合内射日韩久| 日韩电影在线观看一区| 国产夜色精品一区二区av| 久久久精品视频免费观看| 性色av浪潮av| 国产在线播放一区三区四| 中文字幕亚洲一区二区av在线| 欧美亚洲国产bt| 青青草视频成人| jiyouzz国产精品久久| 亚洲电影欧美电影有声小说| 欧美大胆人体bbbb| 99久久99久久精品国产| 91黄色免费视频| 国产精品1区2区3区在线观看| 亚洲欧美另类久久久精品| 欧美一级黄色片| 手机在线中文字幕| 成年女人免费视频| 国产成人小视频| 亚洲成av人片| 国产精品久久久久影视| 精品日产卡一卡二卡麻豆|