跨域,指的是瀏覽器不能執行其餘網站的腳本。它是由瀏覽器的同源策略形成的,是瀏覽器施加的安全限制。php
所謂同源是指,域名,協議,端口均相同。
如:
http://www.abc.com/index.html 調用 http://www.abc.com/server.php (非跨域)html
http://www.abc.com/index.html 調用 http://www.bcd.com/server.php (主域名不一樣:abc/bcd,跨域)後端
http://abc.123.com/index.html 調用 http://bcd.123.com/server.php (子域名不一樣:abc/bcd,跨域)跨域
http://www.abc.com:8080/index.html 調用 http://www.abc.com:8081/server.php (端口不一樣:8080/8081,跨域)瀏覽器
http://www.abc.com/index.html 調用 https://www.abc.com/server.php (協議不一樣:http/https,跨域)安全
查閱mdn關於CORS可知,跨域資源共享(CORS) 是一種機制,它使用額外的 HTTP 頭來告訴瀏覽器 讓運行在一個 origin (domain) 上的Web應用被准許訪問來自不一樣源服務器上的指定的資源。當一個資源從與該資源自己所在的服務器不一樣的域、協議或端口請求一個資源時,資源會發起一個跨域 HTTP 請求。服務器
JSONP就能夠解決跨域問題。JSONP是網頁經過動態建立<script>元素向服務器發起請求,當服務器接收到請求後,將數據放在一個指定名字的回調函數裏傳回來。而正所以<script>只能GET不能POST,JSONP也只能GET不能POST。dom
在php接口腳本中加入如下兩句便可:函數
header('Access-Control-Allow-Origin:*');//容許全部來源訪問 header('Access-Control-Allow-Method:POST,GET');//容許訪問的方式