欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Ajax怎么進行跨域請求

這篇文章主要為大家展示了“Ajax怎么進行跨域請求”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學習一下“Ajax怎么進行跨域請求”這篇文章吧。

成都創(chuàng)新互聯(lián)是工信部頒發(fā)資質(zhì)IDC服務(wù)器商,為用戶提供優(yōu)質(zhì)的川西大數(shù)據(jù)中心服務(wù)

下面我們在本地建兩個站點演示一下

第一步首先我們在本地搭建好一個Apache服務(wù)器;下載地址;
第二步服務(wù)器配置好以后,在本地配置好兩個虛擬的域名;
第三步我們在C盤建一個文件夾命名為”HTML5”;
第四步找到Apache虛擬主機的配置文件,然后打開配置文件

Ajax怎么進行跨域請求

第五步在第三步建的HTML5文件夾下分別建一個文件夾a和文件夾b;
第六步修改Apache虛擬主機的配置文件,如圖

Ajax怎么進行跨域請求

第七步修改一下host文件,添加a和b的網(wǎng)址,通常host文件路徑在C:\Windows\System32\drivers\etc 下

Ajax怎么進行跨域請求

我們在HTML5/a文件夾下建一個7.ajax.html文件

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>獲取同域下內(nèi)容</title>
<script>
window.onload = function() {
 var oBtn = document.getElementById('btn');
 // 忽略IE6
 oBtn.onclick = function() {
 //創(chuàng)建一個ajax對象
 var xhr = new XMLHttpRequest();
 //監(jiān)聽事件
 xhr.onreadystatechange = function() {
 if (xhr.readyState == 4) {
 if (xhr.status == 200) {
 alert(xhr.responseText);
 }
 }
 }
 xhr.open('get', 'ajax.php', true);
 xhr.send();
 }
}
</script>
</head>
<body>
 <input type="button" value="獲取同域下內(nèi)容" id="btn" />
</body>
</html>

我們先看一下同域下的請求

我們在HTML5/a下建一個php文件,返回'hello';

Ajax怎么進行跨域請求

這時候我們在打開當前頁面 http://www.a.com/7.ajax.html ,點擊按鈕我們發(fā)現(xiàn)請求到了數(shù)據(jù);
http://www.a.com/7.ajax.html

Ajax怎么進行跨域請求

但是如果跨域的話,即你所請求的數(shù)據(jù)和當前文件不在一個域下面,這樣的話就會產(chǎn)生跨域請求,通常在這種情況下就會禁止你去訪問

例如我們現(xiàn)在將剛才在HTML5/a文件夾下的ajax.php文件放到b文件夾下

Ajax怎么進行跨域請求

這時候點擊后我們發(fā)現(xiàn)請求報錯了,意思是跨域請求受到了限制

Ajax怎么進行跨域請求

這時候我們需要后端配合,你需要告訴后端在輸出的時候加一個”Access-Control-Allow-Origin”頭信息
比如說:如圖,意思只要是這個域名的跨域請求就不受跨域策略的影響

Ajax怎么進行跨域請求

這時候我點擊的時候,就可以正常獲取跨域的數(shù)據(jù)了

Ajax怎么進行跨域請求

如果你想兼容IE需要

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>ajax跨域請求</title>
<script>
window.onload = function() { 
 /*
 在標準瀏覽器下,XMLHttpRequest對象已經(jīng)是升級版本,支持了更多的特性,可以跨域了
 但是,如果想實現(xiàn)跨域請求,還需要后端的相關(guān)配合才可以
 XMLHttpRequest : 增加很多功能,他也不推薦使用onreadystatechange這個事件來監(jiān)聽,推薦使用onload

 */
 var oBtn = document.getElementById('btn');
 oBtn.onclick = function() {
 // 這是標準瀏覽器寫法
 var xhr = new XMLHttpRequest();
 xhr.onreadystatechange = function() {
 if (xhr.readyState == 4) {
 if (xhr.status == 200) {
 alert(xhr.responseText);
 }
 }
 }
 xhr.open('get', 'http://www.b.com/ajax.php', true);
 xhr.send();
 /*
 如果你想兼容IE瀏覽器,可以特地為IE做兼容,忽略IE6
 XDomainRequest : IE如果想實現(xiàn)跨域請求,則需要使用這個對象去實現(xiàn)
 var oXDomainRequest = new XDomainRequest();
 oXDomainRequest.onload = function() {
 alert(this.responseText);
 }
 oXDomainRequest.open('get', 'http://www.b.com/ajax.php', true);
 oXDomainRequest.send();
 */
 }
}
</script>
</head>

<body>
 <input type="button" value="獲取同域下內(nèi)容" id="btn" />
</body>
</html>

以上是“Ajax怎么進行跨域請求”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)站欄目:Ajax怎么進行跨域請求
文章出自:http://chinadenli.net/article32/pijdpc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、網(wǎng)站策劃、商城網(wǎng)站、云服務(wù)器、網(wǎng)站制作、電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)