婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 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時的瀏覽器緩存問題詳解的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    久久久久久久综合狠狠综合| 福利一区二区在线观看| 国产成人在线免费| 日韩精品一区国产麻豆| 日韩精品五月天| 欧美久久免费观看| 丝袜a∨在线一区二区三区不卡| 国产成a人亚洲精品| 久久综合九色综合97婷婷女人 | 男男gaygay亚洲| 日韩一区二区电影在线| 精品一区二区三区欧美| 日韩欧美一级二级| 不卡欧美aaaaa| 一区二区三区在线视频播放| 91福利在线免费观看| 性久久久久久久久久久久| 在线不卡的av| 久久久国产精华| 丝袜亚洲另类欧美综合| 国产精品亚洲一区二区三区妖精 | 99久久精品国产精品久久| 色噜噜狠狠成人网p站| 欧美日韩精品免费| 中文字幕五月欧美| 亚洲v精品v日韩v欧美v专区| 亚洲国产精品一区二区久久 | 欧美一级二级三级蜜桃| 在线免费观看日本一区| 国产美女精品人人做人人爽| 亚洲激情图片一区| 国产精品少妇自拍| 精品sm在线观看| 精品少妇一区二区三区视频免付费 | 成年人网站91| 激情综合色播激情啊| 亚洲精品国产品国语在线app| 欧美老年两性高潮| 岛国精品在线播放| 五月激情综合婷婷| 亚洲va在线va天堂| 成人免费一区二区三区视频| 久久久www成人免费毛片麻豆 | 精品无人码麻豆乱码1区2区 | 99在线精品一区二区三区| 亚洲午夜免费电影| 亚洲成va人在线观看| 亚洲国产视频一区| 日韩国产高清影视| 国产在线播放一区三区四| 国模套图日韩精品一区二区| 蜜臀av性久久久久av蜜臀妖精| 日韩av一区二区三区| 精品一区二区日韩| av综合在线播放| 日本乱人伦aⅴ精品| 欧美一二三在线| 国产精品每日更新| 午夜电影久久久| 国产电影精品久久禁18| 97se亚洲国产综合自在线| 91精品久久久久久久99蜜桃| 最好看的中文字幕久久| 久久99热狠狠色一区二区| 日韩不卡免费视频| 91国偷自产一区二区开放时间 | 在线观看日韩毛片| 九色综合国产一区二区三区| 欧美午夜精品久久久| 国产日韩av一区二区| 视频一区二区欧美| 欧美日韩精品一区二区在线播放| 国产成人在线免费| 久久夜色精品一区| 日本大胆欧美人术艺术动态 | 欧美人妖巨大在线| 色天使色偷偷av一区二区| 久久99久久99| 国产一区二区三区电影在线观看 | 欧美怡红院视频| 欧美视频在线一区| 欧美色成人综合| 91精品国产一区二区| 欧美日本一区二区三区四区 | 麻豆精品国产91久久久久久| 一区二区三区在线影院| 亚洲香肠在线观看| 日韩高清在线观看| 韩日av一区二区| 成人国产亚洲欧美成人综合网 | 亚洲三级理论片| 亚洲成a人v欧美综合天堂| 性久久久久久久久| 97久久超碰精品国产| 欧美天堂一区二区三区| 日韩一区二区在线观看视频| 久久夜色精品国产噜噜av| 中文字幕一区二区三区不卡在线 | 日本亚洲三级在线| 久久亚洲精品国产精品紫薇| 91精品国产综合久久久久久久久久| 日韩av中文在线观看| 91蝌蚪国产九色| 亚洲午夜激情av| 不卡av免费在线观看| 亚洲国产精品av| 国产乱一区二区| 亚洲h动漫在线| 国产精品久久久久久久久免费桃花| 99热这里都是精品| 日韩欧美久久久| 国产美女av一区二区三区| 国产精品一区二区在线观看网站| 国产成人免费视频精品含羞草妖精 | 97久久久精品综合88久久| 欧美日韩精品综合在线| 中文幕一区二区三区久久蜜桃| 亚洲精品成人精品456| 国产亚洲欧美中文| 五月激情丁香一区二区三区| 97se狠狠狠综合亚洲狠狠| 国产精品美女久久久久av爽李琼| 奇米亚洲午夜久久精品| 欧美区视频在线观看| 日韩综合在线视频| 欧美一区二区三区电影| 人人精品人人爱| 国产视频一区不卡| 国模无码大尺度一区二区三区| 欧美久久一二区| 九一九一国产精品| 国产精品乱码久久久久久| 不卡的av在线播放| 亚洲一二三区在线观看| 91精品久久久久久久99蜜桃 | 日本久久一区二区| 日本在线观看不卡视频| 精品少妇一区二区三区日产乱码| 国产老肥熟一区二区三区| 国产精品理伦片| 欧美顶级少妇做爰| 国产揄拍国内精品对白| 亚洲欧美视频在线观看视频| 在线播放视频一区| 99精品视频在线观看| 麻豆国产精品777777在线| 国产精品久久久久久久久免费相片| 一本色道亚洲精品aⅴ| 久久99热国产| 日本一二三四高清不卡| 欧美日韩一本到| 成人美女视频在线看| 天天色图综合网| 亚洲成在人线免费| 亚洲一区二区三区国产| 国产精品国产三级国产有无不卡| 欧美日本高清视频在线观看| 国产91精品精华液一区二区三区 | 欧美国产精品一区二区三区| 欧美日韩国产综合一区二区三区 | 久久9热精品视频| 美洲天堂一区二卡三卡四卡视频 | 色老头久久综合| 国产福利91精品| 99久久综合狠狠综合久久| 黑人巨大精品欧美黑白配亚洲| 一区二区欧美国产| 欧美国产1区2区| 久久久久久99精品| 日韩欧美中文字幕精品| 日韩一区和二区| 欧美一级日韩一级| 国产精品无遮挡| 亚洲国产另类av| 国产永久精品大片wwwapp| 国产91精品一区二区麻豆网站 | 中文字幕乱码久久午夜不卡| 欧美激情一区二区| 亚洲永久精品大片| 久久99国产精品尤物| 国产一区欧美二区| 欧美又粗又大又爽| www国产成人| 亚洲国产精品久久不卡毛片| 激情综合亚洲精品| 88在线观看91蜜桃国自产| 久久亚洲二区三区| 亚洲第一搞黄网站| aaa亚洲精品| 国产欧美日韩综合| 男男视频亚洲欧美| 欧美日本一区二区三区四区| 国产精品久久久久久久第一福利 | 国产亚洲欧美在线| 蜜臀av性久久久久蜜臀aⅴ四虎| 92精品国产成人观看免费 | 99麻豆久久久国产精品免费 | 亚洲激情av在线| 91美女视频网站| 国产精品另类一区|