日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ajax跨域请求原理,Ajax跨域请求的原理(图文教程)

發(fā)布時間:2025/4/16 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ajax跨域请求原理,Ajax跨域请求的原理(图文教程) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

這篇文章主要為大家詳細介紹了Ajax跨域請求的原理,Ajax怎么樣做跨域請求?具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Ajax跨域請求的具體實現(xiàn)過程,供大家參考,具體內(nèi)容如下

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

第一步首先我們在本地搭建好一個Apache服務器;下載地址;

第二步服務器配置好以后,在本地配置好兩個虛擬的域名;

第三步我們在C盤建一個文件夾命名為”HTML5”;

第四步找到Apache虛擬主機的配置文件,然后打開配置文件

第五步在第三步建的HTML5文件夾下分別建一個文件夾a和文件夾b;

第六步修改Apache虛擬主機的配置文件,如圖

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

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

獲取同域下內(nèi)容

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();

}

}

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

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

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

http://www.a.com/7.ajax.html

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

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

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

這時候我們需要后端配合,你需要告訴后端在輸出的時候加一個”Access-Control-Allow-Origin”頭信息

比如說:如圖,意思只要是這個域名的跨域請求就不受跨域策略的影響

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

如果你想兼容IE需要

ajax跨域請求

window.onload = function() {

/*

在標準瀏覽器下,XMLHttpRequest對象已經(jīng)是升級版本,支持了更多的特性,可以跨域了

但是,如果想實現(xià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();

*/

}

}

上面是我整理給大家的,希望今后會對大家有幫助。

相關文章:

AJAX請求隊列使用詳解

jQuery+ajax使用get()函數(shù)讀取頁面步驟詳解

ajax讀取properties步驟詳解

總結(jié)

以上是生活随笔為你收集整理的ajax跨域请求原理,Ajax跨域请求的原理(图文教程)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。