欧美三区四区_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教程
国产一区二区免费电影| 日韩一二三四区| 国产精品普通话| 91亚洲一区二区| 亚洲美女性生活| 影音先锋久久久| 日韩欧美在线网址| 成人免费观看a| 国产在线a视频| 五月天婷婷在线播放| 日韩激情视频在线观看| 91精品国产入口| 久久久久久99| 日本一级二级视频| 一区三区在线欧| 亚洲欧美电影一区二区| 欧美一区在线直播| 一级做a免费视频| 日韩中文字幕免费在线观看| 日韩成人精品在线| 欧美不卡在线视频| 亚洲成人午夜在线| 国产成人在线观看网站| 91综合久久| 日韩欧美一区二区三区| 亚洲精品日产aⅴ| 右手影院亚洲欧美| 亚洲精品一区二区三区中文字幕| 久久伊99综合婷婷久久伊| 欧美成aaa人片免费看| 超碰97人人射妻| а√天堂资源在线| 精品一二三四在线| 亚洲午夜精品久久久久久性色| 黄色成人在线免费观看| 亚洲中文一区二区三区| 国产精品亚洲欧美| 日韩女优av电影在线观看| 秋霞在线观看一区二区三区 | 国产精品每日更新| 欧洲精品久久久| 国产chinese中国hdxxxx| 经典三级久久| 国产精品成人免费在线| 国产精品第七影院| 成人h动漫精品一区| 欧美一级一片| 亚洲超碰精品一区二区| 国产在线观看精品一区二区三区| 女女互磨互喷水高潮les呻吟 | 第一会所sis001亚洲| 日韩欧美成人免费视频| 国产精品中出一区二区三区| 久久精品黄色片| 午夜国产精品视频免费体验区| 欧美人牲a欧美精品| 日韩成人在线资源| 一级片在线观看免费| 午夜在线精品偷拍| 亚洲精品永久免费| 久久久久狠狠高潮亚洲精品| **在线精品| 久久精品免费在线观看| 日本成人激情视频| 五月天综合视频| 成人久久综合| 欧美群妇大交群的观看方式| 夜夜爽www精品| 国产一区二区在线播放视频| 国产精品一区二区在线看| 久久97久久97精品免视看| xxxx视频在线观看| 青青一区二区| 欧美日韩综合在线| a级黄色片网站| 亚洲AV无码精品国产| 国产一级二级毛片| 国产精品丝袜在线播放| 天天色天天操综合| 青青草成人网| 国产精品一区二区人人爽| 国产乱码精品一区二区三区av | 国产精品美女高潮无套| 欧美残忍xxxx极端| 欧美一区二区视频观看视频| 精品国偷自产一区二区三区| 自拍偷拍亚洲视频| 国产精品久久夜| 亚洲最大福利视频网站| 亚洲黄色一区二区| 日韩精品免费专区| 久久福利网址导航| 国产精品嫩草av| 清纯唯美亚洲综合一区| 日韩欧美一区二区久久婷婷| 日韩国产一级片| 国产麻豆一区| 亚洲精品高清视频在线观看| 国模精品娜娜一二三区| 姑娘第5集在线观看免费好剧| 亚洲欧美se| 成人福利一区| 亚洲国产精品视频| 日韩影院一区| 好男人在线视频www| 国产日韩欧美亚洲| 国产98在线|日韩| 亚洲中文无码av在线| 国产成人高清视频| 国产精品三级久久久久久电影| 久久久久久久久久一区二区三区| 丝袜美腿成人在线| 欧美激情久久久| 九九热免费在线| 国产欧美二区| 欧美成人精品在线视频| 97在线观看免费视频| 亚洲伦理一区| 九九热在线精品视频| 亚洲色图 激情小说| 国产日韩欧美在线播放不卡| 久久综合色影院| xxxx日本黄色| 宅男噜噜噜66一区二区| 欧美成人一区二区三区电影| 成人无码av片在线观看| 美女网站久久| 午夜欧美大片免费观看| 男女做暖暖视频| 美女视频一区在线观看| 欧美与欧洲交xxxx免费观看 | 69视频免费看| 99久久精品国产精品久久| 亚洲中国色老太| 国产美女明星三级做爰| 欧美国产精品一区| 欧洲av一区| av女名字大全列表| 香蕉加勒比综合久久| 高清无码一区二区在线观看吞精| 亚洲伊人伊成久久人综合网| 91久久国产最好的精华液| 欧美 国产 日本| 香蕉久久夜色精品国产使用方法| 精品国产第一区二区三区观看体验| 亚洲图片 自拍偷拍| 99成人在线视频| 日韩视频精品在线| 欧美性生给视频| 久久精品国产亚洲高清剧情介绍| 国产精品999999| 波多野结衣一本一道| 国产丝袜美腿一区二区三区| 欧美精品在线一区| 桃花岛tv亚洲品质| 在线免费一区三区| 中文字幕第36页| 欧美顶级大胆免费视频| 色偷偷偷亚洲综合网另类| 亚洲精品国产精品国自| 免费在线观看一区二区三区| 国产精品久久久精品| 中文字幕第三页| 亚洲视频一区在线观看| 可以免费看的黄色网址| 亚洲国产中文在线| 亚洲二区中文字幕| 好吊色视频一区二区三区| 午夜影院日韩| 国产精品免费视频xxxx| 国产日韩欧美视频在线观看| 亚洲激情一二三区| 缅甸午夜性猛交xxxx| 久久成人高清| 日韩中文在线不卡| 欧美激情精品久久| 91女神在线视频| 日韩电影免费观看高清完整| 久久国产三级| 精品国产精品网麻豆系列| 玖草视频在线观看| 久色婷婷小香蕉久久| 亚洲淫片在线视频| 神马久久久久久久久久| 欧美中文一区二区三区| 韩国三级丰满少妇高潮| 99riav1国产精品视频| 国产精品爱啪在线线免费观看| 91午夜交换视频| 亚洲国产精品嫩草影院| 北条麻妃视频在线| 国产精品v欧美精品v日本精品动漫| 97成人精品视频在线观看| 中文字幕av久久爽| 精品久久久久久国产| 欧美美女性视频| 亚洲另类自拍| 成人午夜高潮视频| 亚洲美女久久精品| 日韩午夜三级在线| 色哟哟精品观看| 国产91综合网| 亚洲精品第一区二区三区| 51社区在线成人免费视频| 亚洲女人初尝黑人巨大| 18岁成人毛片| 中文字幕精品一区二区三区精品| 国产传媒久久久| 日韩免费久久| 91成品人片a无限观看| 国产精品视频一二区| 色综合亚洲欧洲| 日韩大尺度视频| 久久99国产精品尤物| 麻豆精品蜜桃一区二区三区| 精品国产一区二区三区性色av| 中文字幕精品综合| 91麻豆精品国产| 久久久久久久久久久久久久久国产| 宅男噜噜噜66国产日韩在线观看| 91日韩在线播放| jizz久久久久久| 国产va亚洲va在线va| 国产精品av一区二区三区 | 久久久久久久久久一区| 麻豆久久精品| 国产欧美一区二区三区不卡高清| 91精品国产一区二区在线观看| 亚洲精品suv精品一区二区| 农村妇女精品一区二区| 中文字幕中文字幕中文字幕亚洲无线| 欧美 日本 亚洲| 国产精品videossex久久发布| 国产精品香蕉国产| 台湾成人免费视频| 亚洲天堂av女优| 亚洲欧美综合另类| 精品欧美国产一区二区三区| 黄色av电影网站| 国产v综合v亚洲欧| 青青草视频在线视频| 欧美视频网站| 成人久久18免费网站漫画| 免费一级欧美在线大片| 久久精品视频中文字幕| 91片黄在线观看喷潮| 欧美日韩国产a| 中文乱码字幕高清一区二区| 国产精品色哟哟网站| 久久久久久久片| 日本伊人精品一区二区三区观看方式| 欧美一区二区高清在线观看| 综合伊思人在钱三区| 欧美一性一乱一交一视频| 欧美日韩视频网站| 一个色综合导航| 一二三四区视频| 欧美一级搡bbbb搡bbbb| 青青草原免费观看| 亚洲成av人片www| 91视频免费观看网站| 久久久久9999亚洲精品| 国产又黄又猛又粗又爽的视频| 日本欧美在线观看| 91免费网站视频| 黄色在线一区| 欧美国产一二三区| 久久人人99| yy111111少妇影院日韩夜片| 超碰成人免费| 青青久久av北条麻妃海外网| 国产成人福利夜色影视| 欧美成人性生活| 中文字幕在线直播| 日韩在线视频中文字幕| www.亚洲黄色| 亚洲欧美中文另类| 国产美女免费视频| 日韩电影大全免费观看2023年上| 成人免费毛片男人用品| 欧美女孩性生活视频| 国产性一乱一性一伧一色| 日韩欧美中文第一页| 免费成人深夜夜行网站| 亚洲一区在线播放| www.黄色在线| 亚洲国产综合色| 亚洲自拍偷拍图| 亚洲一区二区三区激情| 精品人伦一区二区三电影| 亚洲另类在线一区| 中文字幕免费视频| 亚洲在线视频免费观看| 久久久久久久久久久久| 一区二区三区精密机械公司| 亚洲国产天堂av| 亚洲影视资源网| 超碰人人干人人| 亚洲成人av中文| 天堂а√在线中文在线鲁大师| 亚洲va欧美va人人爽午夜| 亚洲高潮女人毛茸茸| 精品福利在线看| 亚洲二区在线播放| 欧美性受极品xxxx喷水| 久久久久久久久久久久久久免费看 | 久久香蕉综合色| 欧美777四色影| 深夜福利成人| 亚洲制服少妇| 久久av综合网| 国产精品一区二区不卡| 一区二区三区 日韩| k8久久久一区二区三区| 下面一进一出好爽视频| 国产精品久99| 玖玖爱在线观看| 性做久久久久久| 国产女人18水真多毛片18精品| 在线精品视频一区二区| 国产特黄大片aaaa毛片| 日韩一区二区三区电影| 国产又粗又黄又爽视频| 欲色天天网综合久久| 欧美特大特白屁股xxxx| 68精品国产免费久久久久久婷婷 | 亚洲精品一卡二卡| 少妇视频在线播放| 色久优优欧美色久优优| 日韩欧美性视频| 亚洲电影av在线| 亚洲精品久久久久久久久久| 蜜臀久久99精品久久久久久宅男| 日韩欧国产精品一区综合无码| 国产精品久久久久av| 国产91精品对白在线播放| 久久精品一区二区三区不卡免费视频| 国语对白精品一区二区| 99久久99久久精品| 国产99久久久久| 色综合久久久无码中文字幕波多| 亚洲激情自拍偷拍| 日日骚一区二区三区| 日韩一区二区三区视频| 99久久久久久久| 九九精品在线播放| 99久久人爽人人添人人澡 | 国产99久久久精品| 少妇丰满尤物大尺度写真| 亚洲欧美日韩国产综合| 2021亚洲天堂| 亚洲成人精品在线| 色呦呦免费观看| 亲子乱一区二区三区电影| 久久不卡国产精品一区二区| 日韩欧美亚洲精品| 麻豆成人久久精品二区三区红 | www.日韩精品| 香港三级日本三级| 色综合久久久久久久久久久| 中文字幕在线观看视频免费| 中文字幕精品av| 高清在线一区二区| 亚洲一区亚洲二区| 一区二区三区四区五区在线 | 91免费欧美精品| 欧美精品一卡| 国产极品尤物在线| 国产午夜亚洲精品羞羞网站| 91n在线视频| 亚洲成年人在线播放| 久久久久久久久久福利| 亚洲激情偷拍| 久久美女福利视频| 国产精品久久久久久久岛一牛影视 | 91资源在线播放| 日韩一区二区在线观看视频 | 欧美少妇xxx| 国产免费无遮挡| 97在线视频一区| 日韩国产一区二区| 好吊色这里只有精品| av在线不卡电影| 亚洲精品91在线| 日韩视频免费直播| 久久uomeier| 成人精品一区二区三区电影免费| 精品69视频一区二区三区Q| 男人天堂网视频| 国产精品第13页| 精品美女久久久久| zzijzzij亚洲日本成熟少妇| 久久丝袜视频| 性欧美精品一区二区三区在线播放| 国产suv一区二区三区88区| 美女被到爽高潮视频| 日韩精品一区二区三区四区 | 欧美性xxxx69| 国产成人在线免费| 97超碰在线资源|