国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Flask框架踩坑之a(chǎn)jax跨域請求實(shí)現(xiàn)

2020-02-16 01:19:42
字體:
供稿:網(wǎng)友

業(yè)務(wù)場景:

前后端分離需要對接數(shù)據(jù)接口。

接口測試是在postman做的,今天才開始和前端對接,由于這是我第一次做后端接口開發(fā)(第一次嘛,問題比較多)所以在此記錄分享我的踩坑之旅,以便能更好的理解,應(yīng)用。

問題:

前端ajax請求后端接口出現(xiàn)跨域問題,如下圖。

翻譯:因?yàn)轫憫?yīng)頭沒有"Access-Control-Allow-Origin",所以接口拒絕把數(shù)據(jù)返回給前端。

什么是Access-Control-Allow-Origin?

Access-Control-Allow-Origin是HTML5中定義的一種解決資源跨域的策略。

瀏覽器只允許請求當(dāng)前域的資源,而對其他域的資源表示不信任。那怎么才算跨域呢?

請求協(xié)議http,https的不同 域domain的不同 端口port的不同

其實(shí)說簡單點(diǎn),跨域,指的就是瀏覽器不能執(zhí)行其他網(wǎng)站的腳本。它是由瀏覽器的同源策略造成的,是瀏覽器施加的安全限制。

同源是指:協(xié)議相同,域名相同,端口相同。三者同時成立才能叫同源。

瀏覽器的同源策略從它誕生的那一刻就出現(xiàn)了,具體是指從域名A下的一個頁面(一般是通過ajax請求)獲取域名B下的一個資源,是不被瀏覽器允許的。

跨域資源共享(CORS)是瀏覽器提供的一種跨域協(xié)商機(jī)制,讓前后端協(xié)商是否可以發(fā)出跨域請求。CORS添加了若干Access-controll-request-xxx 的頭,給客戶端聲明自己的源、要使用的頭部、用使用的請求方法;添加了若干Access-Controll-Allow-xxx的頭,給服務(wù)端聲明自己支持跨域的源、頭部和方法。

URL 說明 是否允許通信
http://www.a.com/a.js
http://www.a.com/b.js
同一域名下 允許
http://www.a.com/lab/a.js
http://www.a.com/script/b.js
同一域名下不同文件夾 允許
http://www.a.com:8000/a.js
http://www.a.com/b.js
同一域名,不同端口 不允許
http://www.a.com/a.js
https://www.a.com/b.js
同一域名,不同協(xié)議 不允許
http://www.a.com/a.js
http://70.32.92.74/b.js
域名和域名對應(yīng)ip 不允許
http://www.a.com/a.js
http://script.a.com/b.js
主域相同,子域不同 不允許
http://www.a.com/a.js
http://a.com/b.js
同一域名,不同二級域名(同上) 不允許(cookie這種情況下也不允許訪問)
http://www.cnblogs.com/a.js
http://www.a.com/b.js
不同域名 不允許
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 石景山区| 宜昌市| 泰兴市| 瓮安县| 婺源县| 诸城市| 隆化县| 榆林市| 富平县| 民丰县| 呼和浩特市| 松原市| 深泽县| 晋江市| 前郭尔| 穆棱市| 呼图壁县| 家居| 庆云县| 阜阳市| 临夏市| 武邑县| 左贡县| 崇义县| 桐柏县| 贵港市| 轮台县| 云龙县| 太湖县| 尼木县| 永吉县| 阳泉市| 高碑店市| 濮阳市| 茌平县| 泰宁县| 大庆市| 临汾市| 辽宁省| 临颍县| 榆社县|