1. 程式人生 > >跨域是什麼 ,怎麼解決跨域問題

跨域是什麼 ,怎麼解決跨域問題

跨域是指一個域去請求另一個非同源的域資源

比喻:假如你去別人家拿錢拿得到嗎 拿不到 得想辦法,

我所知道的辦法:
1.伺服器proxy(代理):
瀏覽器有跨域限制,但是伺服器不存在跨域的問題,所有可以由伺服器來請求所有域的資源返回給客戶端

2.postMessage跨域
postMessage()方法允許來自不同源的指令碼採用非同步方式進行有限的通訊,可以實現跨文字檔、多視窗、跨域訊息傳遞。
postMessage(data,origin)方法接受兩個引數:
1.data:你需要傳遞的訊息,訊息傳遞的格式有一定要求:引數可以是JavaScript的任意基本型別或可複製的物件,然而並不是所有瀏覽器都做到了這點兒,部分瀏覽器只能處理字串引數,所以建議直接傳遞string型別引數。json格式使用JSON.stringify()方法對物件引數序列化,在低版本IE中引用json2.js可以實現類似效果。
2.origin:該引數指明目標視窗的源。postMessage()方法只會將message傳遞給指定視窗,也可以設定為"*",表示可以傳遞給任意視窗。

主頁有postMessage跨域測試程式碼