欧美三区四区_av先锋影音资源站_亚洲第一论坛sis_影音先锋2020色资源网_亚洲精品社区_在线免费观看av网站_国产一区二区伦理_亚洲欧美视频一区二区_99视频精品全部免费在线_精精国产xxxx视频在线

解讀AJAX的跨域名訪問_AJAX教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:解決ajax緩存的三種方法
ajax緩存解決 有1,2,3種辦法: 1、加個隨機數 ASP隨機函數 xmlHttp.open(GET, ajax.asp?now= + new Date().getTime(), true); 2、在要異步獲取的asp頁面中寫一段禁止緩存的代碼: Response.Buffer =True Response.ExpiresAbsolute =Now() - 1 Response.E

  標題有些唬人的成分,因為這里跨的只是子域名。

  事情的經過是這樣的,還是那個個人門戶網站。其中有個功能就是RSS訂閱,每個訂閱作為一個模塊出現在頁面上。如果一個用戶訂閱了比較多的RSS,則在打開頁面時所有的RSS模塊就會開始加載,這時候可能就會需要十幾秒甚至更長的時間才能加載完畢。這時,如果用戶需要作別的AJAX操作——比如保存頁面設置——那么長時間的等待就不可避免了,誰讓瀏覽器對于相同域名只能同時存在兩個連接呢?不過這可不是一個好的用戶體驗,那么我們需要怎么做呢?

  第一種做法可能比較容易想到,我們可以自己編寫代碼維護一個Priority Queue,為每個請求附加一個“優先級”信息,這樣我們就可以把重要的請求率先發出。這樣就可以在一定程度上解決用戶的等待問題。可惜這個方法還是無法突破兩個連接的限制。于是第二種做法,我們就要設法突破兩個連接的限制了。如果能夠向別的域名發出AJAX請求,不也就能避免重要的請求被大量的請求所阻塞了嗎?

  我們還是從頭看起,一點一點地來解決這個問題。

 

阻塞的AJAX請求

  我們先來證實一下請求的阻塞情況吧。我們使用如下的代碼:

連續發起三個請求
function simpleRequest()
{
    var request = new XMLHttpRequest();
    request.open("POST", "Script.ashx");
    request.send(null);
}

function threeRequests()
{
    simpleRequest();
    simpleRequest();
    simpleRequest();
}

 

  當執行threeRequests時就會連續發出3個相同域名的請求,還是通過統計圖表來查看阻塞的效果(如圖11):

圖11:最后的請求被前兩個請求阻塞

 

  每個請求需要花費1.5秒的時間。很明顯,第三個請求必須等到第一個請求結束之后才能執行,因此總共需要進行3秒多鐘才能執行完畢。我們要改變的就是這個狀況。

 

傳統的跨域名異步請求解決方案

  AJAX安全性的唯一保證,似乎就是對于跨域名(Cross-Domain)AJAX請求的限制。除非打開本地硬盤的網頁,或者在IE中將跨域名傳輸數據的限制打開,否則向其他域名發出AJAX請求都會被禁止。而且對于跨域名的判斷非常嚴格,不同的子域名,或者相同域名的不同端口,都會被認作是不同的域名,我們不能向它們的資源發出AJAX請求。

  從表面上看起來似乎沒有辦法打破這個限制,還好我們有個救星,那就是iframe!

  iframe雖然不在標準中出現,但是由于它實在有用,FireFox也“不得不”對它進行了支持(類似的還有innerHTML)。網上已經有一些跨域名發出異步請求的做法,但是它們實在做的不好。它們的簡單工作原理如下:在另一個域名下放置一個特定的頁面文件作為Proxy,主頁面將異步請求的信息通過Query String傳遞入iframe里的Proxy頁面,Proxy頁面在AJAX請求執行完畢后將結果放在自己location的hash中,而主頁面會對iframe的src的hash值進行輪詢,一旦發現它出現了改變,則通過hash值得到需要的信息。

  這個方法的實現比較復雜,而且功能有限。在IE和FireFox中,對于URL的長度大約可以支持2000個左右的字符。對于普通的需求它可能已經足夠了,可惜如果真要傳遞大量的數據,這就遠遠不夠了。與我們一會兒要提出的解決方案相比,可能它唯一的優勢就是能夠跨任意域名進行異步請求,而我們的解決方案只能突破子域名的限制。

  那么現在來看看我們的做法!

 

優雅地突破子域名的限制

  我們突破子域名限制的關鍵還是在于iframe。

  iframe是的好東西,我們能夠跨過子域名來訪問iframe里的頁面對象,例如window和DOM結構,包括調用JavaScript(通過window對象)——我們將內外頁面的document.domain設為相同就可以了。然后在不同子域名的頁面發起不同的請求,把結果通過JavaScript進行傳遞即可。唯一需要的也僅僅是一個簡單的靜態頁面作為Proxy而已。

  我們現在就來開始編寫一個原形,雖然簡單,但是可以說明問題。

  首先,我們先來編寫一個靜態頁面,作為放在iframe里的Proxy,如下:

SubDomainProxy.html
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Untitled Page</title>
    <script type="text/javascript" language="javascript">
        document.domain = "test.com";
        
        function sendRequest(method, url)
        {
            var request = new XMLHttpRequest();
            request.open(method, url);
            request.send(null);
        }
    </script>
</head>
<body>

</body>
</html>

 

  然后我們再編寫我們的主頁面:

http://www.test.com/Default.html
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
    <script type="text/javascript" language="javascript">
        document.domain = "test.com";
    
        function simpleRequest()
        {
            var request = new XMLHttpRequest();
            request.open("POST", "Script.ashx");
            request.send(null);
        }
        
        function crossSubDomainRequest()
        {
            var proxy = document.getElementById("iframeProxy").contentWindow;
            proxy.sendRequest('POST', 'http://sub0.test.com/Script.ashx');
        }
        
        function threeRequests()
        {
            simpleRequest();
            simpleRequest();
            crossSubDomainRequest();
        }
    </script>
</head>
<body>
    <input type="button" value="Request" onclick="threeRequests()" />
    <iframe src="http://sub0.test.com/SubDomainProxy.html" style="display:none;" 
        id="iframeProxy"></iframe>
</body>
</html>

 

  當執行threeRequests方法時,將會同時請求http://www.test.com以及http://sub0.test.com兩個不同域名下的資源。很明顯,最后一個請求已經不會受到前兩個請求的阻塞了(如圖12):

圖12:不同域名的請求不會被阻塞

  令人滿意的結果!

  雖說只能突破子域名,但是這已經足夠了,不是嗎?我們為什么要強求任意域名之間能夠異步通訊呢?更何況我們的解決方案是多么的優雅!在下一篇文章中,我們將會為ASP.NET AJAX客戶端實現一個完整的CrossSubDomainRequestExecutor,它會自動判斷是否正在發出跨子域名的請求,并選擇AJAX請求的方式。這樣,客戶端的異步通訊層就會對開發人員完全透明。世上還會有比這更令人愉快的事情嗎?:)

 

注意事項

  可能以下幾點值得一提:

  • 我在出現這個想法之后也作了一些嘗試,最后發現創建XMLHttpRequest對象,調用open方法和send方法都必須在iframe中的頁面中執行才能夠在IE和FireFox中成功發送AJAX請求。
  • 在上面的例子中,我們向子域名請求的的路徑是http://sub0.test.com/Script.ashx。請注意,完整的子域名不可以省略,否則在FireFox下就會出現權限不夠的錯誤,在調用open方法時就會拋出異常——似乎FireFox把它當作了父頁面域名的資源了。
  • Windows Live Contacts Gadget使用了一種叫做Channel的技術,用于解決跨任意域名傳遞數據的問題,我相當佩服微軟技術人員的創造力。Channel技術是一種優秀的解決跨域名異步請求問題的解決方案,而且如果將它封裝成了組件,那么使用起來也會相當優雅(似乎微軟已經準備這么做了)。不過它和我們現在需要解決的問題并不相同,如果有機會的話,我也會詳細的解釋一下Channel技術——但不是現在,因為我覺得我還沒有完全理解這個技術本身。
 

分享:解析AjaxPro與服務器端交互過程中如何傳值
用asp.net開發Ajax有兩種主流,一種是微軟推出的技術,其中一個最常用的就是UpdatePanel控件,還有一種是AjaxPro技術。 這種技術有著各自的特點。采用微軟的技術開發也沿用了微軟一貫的簡單化、傻瓜化的特點,開發簡單Ajax程序幾乎不需要了解任何網頁腳本知

來源:模板無憂//所屬分類:AJAX教程/更新時間:2010-01-31
相關AJAX教程
欧美网站免费观看| 亚洲欧美日韩高清| 国产日韩欧美综合| 日本一二三区在线| 天天干天天干天天干| 国产精品视频| 欧美在线观看18| 91麻豆桃色免费看| 私密视频在线观看| 国产成人免费| 国产91精品免费| 精品无人区太爽高潮在线播放| 日本一区免费看| 艳妇荡乳欲伦69影片| ady日本映画久久精品一区二区| 91丨九色porny丨蝌蚪| 中文字幕国产精品| 欧美成人精品免费| 做爰视频毛片视频| 亚洲久色影视| 3d动漫精品啪啪| 久久久久无码国产精品一区| 国产又粗又猛又爽又黄的视频小说| 91亚洲精品视频在线观看| 久久久久青草大香线综合精品| 久久精品一偷一偷国产| 一区二区传媒有限公司| 91 中文字幕| 亚洲欧美网站| 日韩亚洲欧美中文三级| 色之综合天天综合色天天棕色| 久久久夜色精品| 成人羞羞网站入口免费| 精品动漫一区二区| 51精品国产人成在线观看| 亚洲最大成人网站| 国产+成+人+亚洲欧洲在线| 国产精品色哟哟网站| 91精品国产亚洲| 中文字幕乱妇无码av在线| 亚洲成人av观看| 99久久久久久99| 久久夜色精品国产亚洲aⅴ| 免费激情视频在线观看| 少妇人妻一区二区| 成人午夜在线免费| 欧美成人小视频| 日韩成人精品视频在线观看| 午夜在线视频观看| 成人av动漫在线| 免费97视频在线精品国自产拍| 九九热免费精品视频| 女生影院久久| 26uuu亚洲| 97视频国产在线| 亚洲视频天天射| 亚洲精品aⅴ| 亚洲日本va在线观看| 国产情人节一区| 久久久精品成人| 精品日韩免费| 在线精品视频小说1| 秋霞在线观看一区二区三区| 日日噜噜噜噜人人爽亚洲精品| 国产精品亚洲欧美| 亚洲久久久久久久久久| 噜噜噜久久亚洲精品国产品麻豆 | aa级大片欧美三级| 精品国产凹凸成av人网站| av动漫在线免费观看| 一区二区三区精彩视频| 韩国精品一区二区| 美女久久久久久久| 无码国产精品一区二区高潮| 亚洲3区在线| 亚洲一二三四区| 国产精品久久久久久久久婷婷| 日本少妇bbwbbw精品| 亚洲永久在线| 亚洲一级黄色片| 亚洲77777| 白嫩亚洲一区二区三区| 亚洲精品视频免费观看| 国产成人精品免费视频大全最热| 国产午夜视频在线播放| 玖玖精品视频| 日韩在线视频网站| 九九九久久久久久久| 中文字幕区一区二区三| 精品国产成人av| 欧美重口乱码一区二区| 亚洲无码精品国产| 国产成人免费av在线| 亚洲91精品在线观看| 非洲一级黄色片| 婷婷精品进入| 亚洲国产精品久久久久| 91av在线免费播放| 欧美成人精品午夜一区二区| 午夜精品123| 日韩电影大全在线观看| 国产乱淫片视频| 99精品欧美一区| 国产精品视频久久久| 免费一级黄色大片| 日韩精品91亚洲二区在线观看 | 韩国日本美国免费毛片| 亚洲欧美综合久久久久久v动漫| 一区二区成人在线观看| 麻豆亚洲一区| 国产精品人人妻人人爽| 久久亚洲精精品中文字幕早川悠里 | 一二三区中文字幕| 972aa.com艺术欧美| 91精品在线国产| 黄色在线视频网址| 国产成人在线视频免费播放| 国产黑人绿帽在线第一区| 久草成人在线视频| 久色婷婷小香蕉久久| 91高潮精品免费porn| 96sao精品视频在线观看| 日本不卡一区二区三区在线观看| 国产一区二区三区三州| 不卡一区二区三区四区| 国产深夜精品福利| 亚洲影院在线播放| 白白色 亚洲乱淫| 国产一区香蕉久久| 青青视频在线免费观看| 成人性生交大片免费看视频在线 | 国产精品一区av| 亚洲黄色三级视频| 国产成人精品在线看| 国产精品亚洲网站| 亚洲熟妇无码乱子av电影| 成人激情校园春色| 91情侣在线视频| 中文字幕在线播放日韩| 国产人伦精品一区二区| 国产一区精品视频| 亚洲精品久久久久久久久久久久久久 | 欧美乱妇23p| 欧美日韩亚洲一| 欧美电影免费网站| 亚洲第一精品夜夜躁人人爽 | 在线观看av中文字幕| 欧美日韩亚洲一区三区| 久久久999精品视频| 摸摸摸bbb毛毛毛片| 玖玖在线精品| 5252色成人免费视频| 日韩黄色三级视频| 99精品热视频| 国产在线精品一区二区三区| 亚洲精品911| 亚洲午夜私人影院| 日韩五码在线观看| 三级小说欧洲区亚洲区| 亚洲大胆人体视频| 中文字幕精品视频在线| 国产一区二区高清| 欧美在线观看日本一区| 中文字幕亚洲精品一区| 91色在线porny| 蜜桃传媒视频麻豆第一区免费观看 | 日本一区二区高清| 日韩在线导航| 欧美系列精品| 欧美一卡2卡3卡4卡| 动漫av在线免费观看| 影音先锋在线一区| 91精品国产91久久久久久| 91久久国产视频| 久久精品一区二区三区av| 日韩国产在线一区| 成人在线啊v| 日韩欧美亚洲另类制服综合在线 | 免费毛片视频网站| 日本亚洲最大的色成网站www| 国产精品一区=区| 国产福利免费视频| 精品久久久久久| 欧美自拍小视频| 亚洲精品va| 国内精品久久久久久| 波多野结衣 久久| 成人欧美一区二区三区小说| 国产91在线亚洲| 中文有码一区| 精品国产一区二区三区在线观看| 久久久夜色精品| 国产亚洲一区二区三区在线观看 | 亚洲欧洲一区| 日韩美女免费视频| 国产精品国产精品国产专区| 亚洲第一av色| 91制片厂毛片| 99精品视频免费全部在线| 国产精品久久久久久久久影视| 国产精品无码久久av| 性感美女极品91精品| 国产一区二区在线免费播放| 欧美激情一级片一区二区| 欧美亚洲第一页| 国产精品人妻一区二区三区| 色综合久久综合网97色综合 | va亚洲va日韩不卡在线观看| 日韩高清专区| 懂色av一区二区| 中文字幕一区电影| 成年免费在线观看| 1000部国产精品成人观看| 草草久久久无码国产专区| 亚洲国产精品综合久久久| 91超碰caoporn97人人| 国产精品热久久| 在线影院国内精品| 日本wwwwwww| 韩国三级在线一区| 日韩久久在线| 欧美精品中文| 欧美精品在线观看| 在线观看色网站| 色狠狠色噜噜噜综合网| 亚洲视频 中文字幕| 精品一区二区三区免费| 日韩精品久久一区| 亚洲精品进入| 久久青草精品视频免费观看| 国产免费高清av| 欧美日韩在线播放一区| 免费毛片视频网站| 99精品欧美一区二区三区小说 | 久久精品91| 国产乱码精品一区二区三区不卡| 日韩毛片免费看| 自拍偷拍免费精品| 最新中文字幕在线观看视频| 精品国产精品自拍| 亚洲天堂2024| 成人免费视频app| 99re8这里只有精品| 91精品综合久久久久久久久久久| 国产精品678| 久久野战av| 日韩乱码在线视频| 黄色激情视频在线观看| 亚洲第一福利一区| 免费黄色三级网站| 99久久精品免费精品国产| 国产毛片久久久久久国产毛片| 综合精品一区| 91精品网站| 97久久亚洲| 欧美俄罗斯乱妇| 国产 日韩 欧美 综合| 欧美精品一区男女天堂| 国产精品suv一区二区69| 亚洲二区在线视频| 欧美夫妇交换xxx| 99久久99久久精品免费观看| 国产精品12345| 亚洲综合国产| 欧美极品视频一区二区三区| 九九久久婷婷| 国产精品高潮呻吟久久av黑人| 另类一区二区| 久久亚洲成人精品| 丰满人妻一区二区三区免费视频 | 久久综合久久网| 亚洲免费激情| 国产在线一区二区三区欧美| 久久动漫网址| 日韩av高清不卡| 欧美黄页免费| 久久91亚洲人成电影网站| 日本人妻熟妇久久久久久| 亚洲精品一区中文字幕乱码| 波多野结衣黄色网址| 在线91免费看| 国产午夜精品无码一区二区| 色综合天天综合网天天看片| 精品人体无码一区二区三区| 亚洲欧美国产毛片在线| 在线观看免费视频国产| 国产三级精品视频| 两女双腿交缠激烈磨豆腐| 99re66热这里只有精品3直播| 欧美性猛交久久久乱大交小说| 久久99精品一区二区三区| 国产精品三级一区二区| 三级精品在线观看| 无码人妻精品一区二区三区99v| 亚洲作爱视频| 亚洲视频精品一区| 精品福利电影| 亚洲v国产v在线观看| 韩日欧美一区| 日本在线观看不卡| 精品白丝av| 亚洲三区视频| 国产亚洲精品v| 中文字幕在线亚洲精品| 国产色综合网| 一区二区国产日产| 久久黄色影院| 国产a级黄色大片| 蜜桃久久久久久久| 无码播放一区二区三区| 国产精一品亚洲二区在线视频| 99精品视频在线看| 国产**成人网毛片九色 | 精产国品一二三区| 国产亚洲精品资源在线26u| 26uuu国产| 国产精品久久久久aaaa樱花| 国产国语性生话播放| 伊人婷婷欧美激情| 538精品视频| 欧美日韩午夜视频在线观看| 农村妇女精品一区二区| 欧美三级视频在线| 特级西西444www大精品视频免费看| 欧美一级一级性生活免费录像| 无码久久精品国产亚洲av影片| 亚洲成人动漫在线播放| 99久久精品无免国产免费| 伊人激情综合网| 污污网站免费在线观看| 欧美伦理91i| 国产精品99久久免费| 国产精品一二三在线| 国产精品亚洲人成在99www| 国产精品一区二区欧美| 欧美久久一区| 波多野结衣激情| 韩国av一区二区三区四区| 亚洲一级免费观看| 欧美国产日韩一二三区| 国产jk精品白丝av在线观看| 欧美日韩国产影院| 91视频免费网址| 日韩精品高清在线观看| 色婷婷久久综合中文久久蜜桃av| 日韩欧美大尺度| 日韩三级视频在线播放| 欧美sm极限捆绑bd| www.天堂av.com| 九九久久久久99精品| 欧美黄视频在线观看| 91日本在线观看| 中文字幕亚洲精品乱码| 可以免费看的黄色网址| 国产剧情在线观看一区二区| 污视频网址在线观看| 中文字幕中文在线不卡住| 日韩欧美在线视频播放| 欧美高清你懂得| 国产情侣自拍小视频| 久久影视电视剧免费网站| 日韩免费高清视频网站| 国产精品久久亚洲7777| 在线综合亚洲| 欧洲av无码放荡人妇网站| 国产日韩欧美一区二区三区综合| 小早川怜子久久精品中文字幕| 欧美性猛片aaaaaaa做受| 在线观看视频二区| 欧美乱妇高清无乱码| 美日韩黄色大片| 色八戒一区二区三区| 欧美黄色性生活| 国产精品乱码人人做人人爱| 天天色天天综合| 欧美成人激情免费网| 免费av一级片| 欧美综合国产精品久久丁香| 日韩免费视频| 国产精品视频二| 91视频com| а天堂中文在线资源| 日韩精品在线看片z| 欧美一区二区公司| 国产激情综合五月久久| 亚洲一区色图| 秋霞无码一区二区| 国产亚洲人成网站| 国产免费久久久久| 亚洲精品久久久久中文字幕二区 | 亚洲宅男网av| 亚洲国产婷婷香蕉久久久久久99| 国产真实乱偷精品视频免| 色婷婷精品久久二区二区密| 欧美伊人久久久久久午夜久久久久| 国产情侣激情自拍| 国产精品99久久久久久人| 女人色偷偷aa久久天堂| 欧美日韩亚洲第一| 亚洲乱码中文字幕|