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

首頁(yè) > 編程 > Python > 正文

django解決跨域請(qǐng)求的問(wèn)題詳解

2020-02-16 00:44:32
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

解決方案

1.安裝django-cors-headers

pip install django-cors-headers

2.配置settings.py文件

INSTALLED_APPS = [  ...  'corsheaders',  ... ] MIDDLEWARE_CLASSES = (  ...  'corsheaders.middleware.CorsMiddleware',  'django.middleware.common.CommonMiddleware', # 注意順序  ...)#跨域增加忽略CORS_ALLOW_CREDENTIALS = TrueCORS_ORIGIN_ALLOW_ALL = TrueCORS_ORIGIN_WHITELIST = (  '*')CORS_ALLOW_METHODS = (  'DELETE',  'GET',  'OPTIONS',  'PATCH',  'POST',  'PUT',  'VIEW',)CORS_ALLOW_HEADERS = (  'XMLHttpRequest',  'X_FILENAME',  'accept-encoding',  'authorization',  'content-type',  'dnt',  'origin',  'user-agent',  'x-csrftoken',  'x-requested-with',  'Pragma',)

OK!問(wèn)題解決!

其他解決方案

另外還從網(wǎng)上看到其他兩種解決方案,但都不太合適。在此列出,供大家參考

1.使用JSONP

使用Ajax獲取json數(shù)據(jù)時(shí),存在跨域的限制。不過(guò),在Web頁(yè)面上調(diào)用js的script腳本文件時(shí)卻不受跨域的影響,JSONP就是利用這個(gè)來(lái)實(shí)現(xiàn)跨域的傳輸。因此,我們需要將Ajax調(diào)用中的dataType從JSON改為JSONP(相應(yīng)的API也需要支持JSONP)格式。

JSONP只能用于GET請(qǐng)求。

2.直接修改Django中的views.py文件

修改views.py中對(duì)應(yīng)API的實(shí)現(xiàn)函數(shù),允許其他域通過(guò)Ajax請(qǐng)求數(shù)據(jù): 

def myview(_request): response = HttpResponse(json.dumps({“key”: “value”, “key2”: “value”})) response[“Access-Control-Allow-Origin”] = “*” response[“Access-Control-Allow-Methods”] = “POST, GET, OPTIONS” response[“Access-Control-Max-Age”] = “1000” response[“Access-Control-Allow-Headers”] = “*” return response

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林站長(zhǎng)站。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 汉源县| 新兴县| 洛宁县| 贵溪市| 五莲县| 石门县| 延长县| 兰溪市| 施甸县| 黄山市| 岳阳市| 象山县| 天峨县| 巴南区| 河源市| 万盛区| 万山特区| 阿鲁科尔沁旗| 马山县| 平度市| 林芝县| 太康县| 乐安县| 迁安市| 会泽县| 西乌| 建德市| 吉隆县| 黄浦区| 淳化县| 敦化市| 云阳县| 太原市| 金溪县| 密山市| 财经| 通海县| 于田县| 阜南县| 西畴县| 布尔津县|