因工作需要,客戶端軟件的一些界面用HTML+CSS+Javascript實現(xiàn),這些文件放在客戶端本地,以本地文件形式加載,但是有些情況下,需要連接服務器取得一些信息,如果不做任何處理,則請求失敗,返回的信息如下:
站在用戶的角度思考問題,與客戶深入溝通,找到永濟網(wǎng)站設計與永濟網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設計與互聯(lián)網(wǎng)技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網(wǎng)站、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名與空間、虛擬空間、企業(yè)郵箱。業(yè)務覆蓋永濟地區(qū)。
No
'Access-Control-Allow-Origin'
header
is
present
on
the
requested
resource.
Origin
'null'
is
therefore
not
allowed
access.
這是因為瀏覽器跨域策略起作用,阻止了跨域的請求??纯碒TTP請求過程就知道。第一次請求后端時候,瀏覽器意識到是訪問一個跨與資源,沒有直接發(fā)送GET請求獲取數(shù)據(jù),而是發(fā)送了一個OPTIONS請求詢問是否可以訪問該資源。我們稱之為Preflight請求,默認因為同源策略的存在,該請求返回的Header中沒有'Access-Control-Allow-Origin'屬性,所以訪問失敗。
如果要實現(xiàn)跨域,關鍵在于服務器,客戶端的代碼按照正常的方式編寫即可。對于服務器,只需要在收到OPTIONS請求的地方,返回的頭信息中增加該屬性即可,代碼如下:
header("Access-Control-Allow-Origin:
*");
注意,一定要在所有信息輸出到客戶端之前設置。
以上所述是小編給大家介紹的PHP如何實現(xiàn)跨域的相關內(nèi)容,希望對大家有所幫助!
通常是用json,你可以用php的函數(shù)json_encode(),轉換為json格式,然后輸出進行傳遞
服務器端PHP跨域一般沒有限制,不像瀏覽器端有same origin policy。
把服務器B中的代碼封裝一下,確定好輸入和輸出,比如輸入是一個HTTP Request,參數(shù)POST過去;輸出是從HTTP Response返回一段XML。之后在服務器A的代碼中做一個對服務器B的HTTP請求并處理返回的XML就好了。
有問題請追問~