亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > AJAX > 正文

完美解決AJAX跨域問題

2024-09-01 08:32:18
字體:
來源:轉載
供稿:網友
我看到過很多人不愿意去正視ajax所存在的技術瓶頸,其實AJAX更應該是Ajax而不是AJAX,突出第一個A是想強調其實AJAX發揚的是一種異步傳輸的方法,而不是具體到底使用了哪種技術

從AJAX誕生那天起,XMLHttprequest對象不能跨域請求的問題就一直存在。這似乎是一個很經典的問題了。是由于javascript的同源策略(這里不作深入探討)所導致。

解決的辦法,大概有如下幾種:

1. 使用中間層過渡的方式(可以理解為“代理”):

中間過渡,很明顯,就是在AJAX與不同域的服務器進行通訊的中間加一層過渡,這一層過渡可以是PHP、JSP、c++等任何具備網絡通訊功能的語言,由中間層向不同域的服務器進行讀取數據的操作。拿asp.net做一個例子,如果需要對不同域的某一個asp.net進行通訊,現在客戶端的xmlhttprequest先query本域的一個asp.net ,然后由本域的這個asp.net去和不同域的asp.net進行通訊,然后由本域的asp.net響應輸出(response);思路大概就是這樣的,相信讀者已經很清楚的理解了。

2. 使用<script>標簽

這個方法是利用<script>標簽中的src來query一個aspx獲得response,因為<script>標簽的src屬性不存在跨域的問題。

舉個例子來讓大家看得更清楚一點吧:

復制代碼 代碼如下:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Ajax跨域問題</title>
    <script type="text/javascript" src="">
    </script>
    <script type="text/javascript">
        function get(url) {
            var obj = document.getElementById("getAspx");
            obj.src = url;
            (obj.readStatus == 200)
            {
                alert(responseVal);//如果成功,會彈出Dylan
            }
        }
        function query() {
            get(getDemo.aspx);
        }
    </script>
</head>
<body>
<input type="button" value="Ajax跨域測試"/>
</body>
</html>


getDemo.aspx后臺代碼:

復制代碼 代碼如下:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace LearnJS
{
    public partial class getDemo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Response.Write("var responseVal='Dylan'");
        }
    }
}


這個方法又叫做ajaj或者ajax without xmlHttprequest,把x換成了j,是因為使用了<script>標簽而沒有用到xml和xmlHttprequest的緣故。這種方法似乎有點“另類”,哈哈。

那現在我們就看看,有了jQuery之后,如何來解決ajax的跨域問題:

復制代碼 代碼如下:


<html>
<head>
<title>JQuery學習</title>
<script src="jquery-1.4.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
    var oBtnTest = $("#btnTest");
    oBtnTest.click(function(){
        oBtnTest.disabled = true;   
        var oResult = $("#result");
        oResult.html("loading").css("color","red");
        jQuery.getScript("http://www.49028c.com/test/js.txt",
        function(){           
            oResult.html("name:" + Dylan.name + "<br/>email:" + Dylan.email).css("color","black");           
            oBtnTest.disabled = false;           
        });        
    });   
});   
</script>
</head>
<body>
<button>BtnTest</button>
<div></div>
</body>
</html>

遠程服務器端js.txt中的內容為:
var Dylan= {name:"Dylan",email:Dylan@163.com}

筆者感覺這種方式更加簡潔。呵呵。當然,讀者可以根據實際情況,任意選擇實現方式。

怎么樣,其實很簡單吧,我看到過很多人不愿意去正視ajax所存在的技術瓶頸,其實AJAX更應該是Ajax而不是AJAX,突出第一個A是想強調其實AJAX發揚的是一種異步傳輸的方法,而不是具體到底使用了哪種技術。

其實,在json數據格式之后,有一種更牛X的“jsonp”,也可以實現ajax的跨域通信。其實jsonp不是一種數據格式,只是對我介紹的第二種方式做了改進。從jQuery1.2 版本開始,jQuery 擁有對 JSONP 回調的本地支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美国产第一页| 26uuu亚洲国产精品| 亚洲激情小视频| 欧美成人手机在线| 日韩在线观看高清| 欧美华人在线视频| 国产精品激情av电影在线观看| 国产日韩欧美电影在线观看| 色狠狠av一区二区三区香蕉蜜桃| 亚洲精品国产电影| 91久久久久久国产精品| 欧美专区中文字幕| 成人国产精品一区二区| 性色av一区二区三区在线观看| 欧美日韩视频免费播放| 一区二区三区视频观看| 欧美精品aaa| 亚洲电影成人av99爱色| 中文字幕在线观看日韩| 久色乳综合思思在线视频| 欧美成人在线影院| 伊是香蕉大人久久| 97在线观看免费高清| 国产精品中文字幕久久久| 国产一区二区精品丝袜| 亚洲图片制服诱惑| 日韩精品极品视频免费观看| 色悠悠久久久久| 亚洲精品资源美女情侣酒店| 色综合久久精品亚洲国产| 亚洲视频视频在线| 日韩中文av在线| 欧美中文字幕在线| 丝袜一区二区三区| 欧美另类交人妖| 欧美疯狂性受xxxxx另类| 日韩视频在线观看免费| 久久精彩免费视频| 久久久亚洲影院| 国产精品18久久久久久麻辣| 亚洲激情久久久| 久久97久久97精品免视看| 国产在线视频91| 51ⅴ精品国产91久久久久久| 欧美最猛性xxxxx亚洲精品| 亚洲美女精品成人在线视频| 欧美一级电影免费在线观看| 2019中文在线观看| 国产精品欧美激情| 欧美性xxxxxxxxx| 亚洲乱亚洲乱妇无码| 久久国产精品偷| 国产一区二区三区三区在线观看| 青草青草久热精品视频在线网站| 国产精品va在线| 国产精品老女人精品视频| 久久精品久久久久电影| 精品久久久久人成| 久久久精品在线观看| 777午夜精品福利在线观看| 国产综合在线看| 国产一区二区三区精品久久久| 日韩女在线观看| 亚洲高清免费观看高清完整版| 欧美激情小视频| 福利二区91精品bt7086| 欧美日韩福利电影| 日本高清视频一区| 亚洲毛片在线观看.| 亚洲综合色激情五月| 亚洲电影免费观看高清完整版在线| 最新69国产成人精品视频免费| 欧美另类在线观看| 91精品久久久久久久久久另类| 亚洲美女视频网站| 精品久久久久久| 91精品久久久久久久久| 国产欧美va欧美va香蕉在线| 不卡av在线播放| 亚洲第一区第一页| 另类图片亚洲另类| 亚洲香蕉伊综合在人在线视看| 欧美日韩一区二区在线播放| 国产a∨精品一区二区三区不卡| 国产成人亚洲综合91| 91av在线播放视频| 欧美劲爆第一页| 国产精品高清网站| 成人做爽爽免费视频| 欧美日韩免费观看中文| 亚洲综合社区网| 亚洲自拍高清视频网站| 国产乱人伦真实精品视频| 亚洲欧洲在线看| 欧美有码在线观看| 国产精品久久久久久久一区探花| 国产精品久久久久7777婷婷| 国产一区二区三区在线播放免费观看| 欧美大尺度在线观看| 国产精品青青在线观看爽香蕉| 亚洲欧洲美洲在线综合| 欧美黑人性生活视频| 国产免费亚洲高清| 成人xxxxx| 555www成人网| 欧美日韩亚洲激情| 午夜精品视频在线| 欧美小视频在线观看| 欧美裸体视频网站| 欧美理论电影在线观看| 欧美在线视频观看免费网站| 久久成人免费视频| 国产不卡av在线免费观看| 性欧美长视频免费观看不卡| 国产日韩精品综合网站| 欧美激情网站在线观看| 欧美精品在线免费| 欧美又大粗又爽又黄大片视频| 国产精品海角社区在线观看| 亚洲一区二区三区sesese| 日本免费久久高清视频| 免费97视频在线精品国自产拍| 亚洲成人激情在线| 久久九九亚洲综合| 久久偷看各类女兵18女厕嘘嘘| 4444欧美成人kkkk| 午夜精品久久久99热福利| 精品久久久一区二区| 九九精品在线观看| 中文字幕亚洲无线码a| xxav国产精品美女主播| 日韩精品免费在线视频| 日本视频久久久| 一区二区三区无码高清视频| 精品久久久久久中文字幕| 久久99国产精品久久久久久久久| 日韩av免费在线播放| 亚洲精品一区中文| 国产精品免费一区二区三区都可以| 欧美极品少妇xxxxⅹ裸体艺术| 日韩欧美视频一区二区三区| 中文字幕日韩欧美在线| 亚洲专区中文字幕| 欧美二区在线播放| 97在线视频一区| …久久精品99久久香蕉国产| 欧美国产日韩中文字幕在线| 日韩亚洲精品电影| 欧美日韩亚洲精品内裤| 亚洲精品中文字幕女同| 午夜精品一区二区三区在线播放| 亚洲性视频网址| 中文字幕久久久av一区| 亚洲日韩欧美视频| 亚洲深夜福利视频| 超碰91人人草人人干| 国产精品免费看久久久香蕉| 俺去亚洲欧洲欧美日韩| 欧美专区第一页| 欧美巨猛xxxx猛交黑人97人| 欧美精品久久久久a| 精品动漫一区二区| 成人av色在线观看| 97成人精品视频在线观看|