跨域访问资源
1.解釋一下怎樣算是跨域:
頁面本身具有 協議 域名 端口,假設要請求的頁面位http://www.baidu.com:80 (默認端口號80),則三個參數有任意一個不同就屬于跨域.
2.允許跨域請求的資源:js,css,jpg,png以及大部分href資源都可被跨域請求;
3.算是跨域請求的資源
- 后端接口的數據
- 其他域的Cookie
- 其他域的緩存
4.什么時候判定發生跨域
- 即使上述三個參數有不同,即發生了跨域,也可發出請求
- 服務器可接受數據
- 服務器可正常處理
- 服務器可正常返回數據
- 瀏覽器可接收數據
- 接收到數據之后,發現頁面的域和請求的域不同,判定為跨域,不將結果傳遞給代碼
5.跨域的解決
1).后端(服務器)配合進行跨域(比如說pan.baidu.com訪問zhidao.baidu.com)
? a.JSONP(正常的情況,返回的數據都是JSON格式,JSONP是特殊格式)
? b.后端設施Access-Control-Allow-Origin屬性以支持跨域(需要nodejs的知識)
2).后端不配合進行跨域
? a.iframe(只能顯示,不能控制)
? b.通過后端代理(自己的后端)(需要nodejs的知識)
下一篇講JSONP吧
總結
- 上一篇: 前端必会的网络知识
- 下一篇: CSS3之border