php中的文件讀寫(xiě)函數(shù)基本上都可直接支持url,也就是說(shuō)你可以像操作本地文件一樣直接操作其他網(wǎng)站的文件(當(dāng)然只是讀取,寫(xiě)入是不可能的),而且沒(méi)有任何跨域限制,比如下面一行代碼就可直接讀取百度首頁(yè)的html代碼:
創(chuàng)新互聯(lián)是一家專注于網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站與策劃設(shè)計(jì),臨高網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:臨高等地區(qū)。臨高做網(wǎng)站價(jià)格咨詢:13518219792
$bd=file_get_contents("");
如果想獲取json數(shù)據(jù),只需把網(wǎng)址換一下即可。當(dāng)然,還需要做一下格式轉(zhuǎn)換,php本身就有專門的json轉(zhuǎn)換函數(shù):
$json=json_decode(file_get_contents("網(wǎng)址"),true);
這樣一看,是不是比前端的ajax還要簡(jiǎn)單百倍?!
服務(wù)器端PHP跨域一般沒(méi)有限制,不像瀏覽器端有same origin policy。
把服務(wù)器B中的代碼封裝一下,確定好輸入和輸出,比如輸入是一個(gè)HTTP Request,參數(shù)POST過(guò)去;輸出是從HTTP Response返回一段XML。之后在服務(wù)器A的代碼中做一個(gè)對(duì)服務(wù)器B的HTTP請(qǐng)求并處理返回的XML就好了。
有問(wèn)題請(qǐng)追問(wèn)~
因工作需要,客戶端軟件的一些界面用HTML+CSS+Javascript實(shí)現(xiàn),這些文件放在客戶端本地,以本地文件形式加載,但是有些情況下,需要連接服務(wù)器取得一些信息,如果不做任何處理,則請(qǐng)求失敗,返回的信息如下:
No
'Access-Control-Allow-Origin'
header
is
present
on
the
requested
resource.
Origin
'null'
is
therefore
not
allowed
access.
這是因?yàn)闉g覽器跨域策略起作用,阻止了跨域的請(qǐng)求。看看HTTP請(qǐng)求過(guò)程就知道。第一次請(qǐng)求后端時(shí)候,瀏覽器意識(shí)到是訪問(wèn)一個(gè)跨與資源,沒(méi)有直接發(fā)送GET請(qǐng)求獲取數(shù)據(jù),而是發(fā)送了一個(gè)OPTIONS請(qǐng)求詢問(wèn)是否可以訪問(wèn)該資源。我們稱之為Preflight請(qǐng)求,默認(rèn)因?yàn)橥床呗缘拇嬖?,該?qǐng)求返回的Header中沒(méi)有'Access-Control-Allow-Origin'屬性,所以訪問(wèn)失敗。
如果要實(shí)現(xiàn)跨域,關(guān)鍵在于服務(wù)器,客戶端的代碼按照正常的方式編寫(xiě)即可。對(duì)于服務(wù)器,只需要在收到OPTIONS請(qǐng)求的地方,返回的頭信息中增加該屬性即可,代碼如下:
header("Access-Control-Allow-Origin:
*");
注意,一定要在所有信息輸出到客戶端之前設(shè)置。
以上所述是小編給大家介紹的PHP如何實(shí)現(xiàn)跨域的相關(guān)內(nèi)容,希望對(duì)大家有所幫助!
php中的session跨域就是無(wú)法取到值的,你可以通過(guò)數(shù)據(jù)庫(kù)講session值傳遞過(guò)去。
名稱欄目:php跨域獲取數(shù)據(jù) php跨域獲取數(shù)據(jù)函數(shù)
文章起源:http://www.rwnh.cn/article10/doohjdo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、自適應(yīng)網(wǎng)站、建站公司、虛擬主機(jī)、服務(wù)器托管、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容