跨域

概念:只要協議、域名、端口有任何一個不一樣,都被看成是不一樣的域。html

對於端口和協議的不一樣,只能經過後臺來解決。html5

解決辦法:跨域

服務器端對於CORS的支持,主要就是經過設置Access-Control-Allow-Origin來進行的。若是瀏覽器檢測到相應的設置,就能夠容許Ajax進行跨域的訪問。瀏覽器

JSONP方式:服務器

JSONP的優勢是:它不像XMLHttpRequest對象實現的Ajax請求那樣受到同源策略的限制;它的兼容性更好,在更加古老的瀏覽器中均可以運行,不須要XMLHttpRequest或ActiveX的支持;而且在請求完畢後能夠經過調用callback的方式回傳結果。post

JSONP的缺點則是:它只支持GET請求而不支持POST等其它類型的HTTP請求, 另外須要服務端做配合支持;它只支持跨域HTTP請求這種狀況,不能解決不一樣域的兩個頁面之間如何進行JavaScript調用的問題。spa

window.postMessage(message,targetOrigin) 方法是html5新引進的特性,能夠使用它來向其它的window對象發送消息,不管這個window對象是屬於同源或不一樣源,目前IE8+、FireFox、Chrome、Opera等瀏覽器都已經支持window.postMessage方法。code

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息