這篇文章主要介紹“AJAX常用的兩種跨域方法是什么”的相關(guān)知識(shí),小編通過實(shí)際案例向大家展示操作過程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“AJAX常用的兩種跨域方法是什么”文章能幫助大家解決問題。
10年積累的成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有淮濱免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
首先什么是AJAX?
AJAX : Asynchronous JavaScript and XML(異步JavaScript和XML技術(shù))。
JavaScript:XMLHttpRequest(核心對(duì)象)。
XML:可擴(kuò)展標(biāo)記語(yǔ)言,數(shù)據(jù)存儲(chǔ)與交換。
是在不重新加載(刷新)整個(gè)頁(yè)面的情況下,與服務(wù)器交換數(shù)據(jù)并更新部分網(wǎng)頁(yè)的內(nèi)容。
優(yōu)缺點(diǎn):無刷新技術(shù),提升用戶體驗(yàn),減少網(wǎng)絡(luò)占用;不利于SEO優(yōu)化。
步驟:
1. 創(chuàng)建核心對(duì)象
var xhr=new XMLHttpRequest();
2. 準(zhǔn)備建立連接
xhr.open(method, url, async);
method -- 請(qǐng)求方式:"GET"/"POST"
url -- 請(qǐng)求資源的URL
async -- 是否異步,通常 true(異步),如果設(shè)置為 false表示是同步
3. 發(fā)送請(qǐng)求
xhr.send();
4. 處理響應(yīng)
xhr.onreadystatechange=function(){}
xhr.readyState -- 就緒狀態(tài)碼
-- 表示 xhr 狀態(tài)信息,即請(qǐng)求到達(dá)哪個(gè)階段
-- 4 :請(qǐng)求處理完畢,響應(yīng)就緒
xhr.status -- HTTP 狀態(tài)碼
-- 200 :OK,請(qǐng)求成功
xhr.responseText -- 獲取響應(yīng)文本
就緒狀態(tài)碼:
0: 請(qǐng)求未初始化
1: 服務(wù)器連接已建立
2: 請(qǐng)求已接收
3: 請(qǐng)求處理中
4: 請(qǐng)求已完成,且響應(yīng)已就緒
常用HTTP:
1**——信息,服務(wù)器收到請(qǐng)求,需要請(qǐng)求者繼續(xù)執(zhí)行操作
2**——成功,操作被成功接收并處理
3**——重定向,需要進(jìn)一步的操作以完成請(qǐng)求
4**——客戶端錯(cuò)誤,請(qǐng)求包含語(yǔ)法錯(cuò)誤或無法完成請(qǐng)求
5**——服務(wù)器錯(cuò)誤,服務(wù)器在處理請(qǐng)求的過程中發(fā)生了錯(cuò)誤
說跨域前需要先說說同源策略
同源策略:
瀏覽器安全策略,保障非同源資源之間數(shù)據(jù)訪問的安全性。
默認(rèn)不允許非同源的資源直接訪問。
URL:協(xié)議://域名:端口/路徑名稱?查詢字符串#hash
同源:協(xié)議、域名、端口完全一致,只要三個(gè)中有任何一個(gè)不一致,則是非同源
非同源資源間需要進(jìn)行訪問,則需要實(shí)現(xiàn)跨域。
跨域方法一:CORS跨域
CORS跨域比較簡(jiǎn)單,只需要后端在PHP文件頭部加一個(gè)頭信息及:
header('Access-Control-Allow-Origin:*');
*表示允許所有域名訪問,如果只是一個(gè)文件訪問則吧*換成指定域名。
可解決GET/POST跨域需求
跨域方法二:JSONP跨域
利用