vue 跨域 和django跨域


1,首先vue跨域我知道兩種 ,一種在config文件下,index.js里面配置跨域:

module.exports = {
dev: {

// Paths
assetsSubDirectory: 'static',
assetsPublicPath: '/',
proxyTable: {
'/api':{//使用"/api"來代替"http://f.apiplus.c"
target:'http://127.0.0.1:8000/',//源地址
changeOrigin:true,//改地址
pathRewrite:{
'^/api':''//路由重寫
}
}
},
vue 代碼:
mounted() {
this.axios({
url:'/api/sadmin/show/', #后端接口
data:{},
method:'get'
}).then((res)=>{
console.log(res)
if (res.data.code==200){
this.alist = res.data.message
},

2,另一種是在寫vue代碼時候:直接指定路由:
methods: {
login(){
let formdata = new FormData();
formdata.append('accout',this.accout);
formdata.append('password',this.password);
this.axios({
url:'http://127.0.0.1:8000/api/doctorLogin/', #指定后端端口號
method:'post',
data:formdata

}).then((res)=>{
        console.log(res)
}
如果選擇第二種 那么就要在django里面進行配置跨域;
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
'corsheaders', # 跨域時注冊這一行
'weblist'
]

還有中間件
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'corsheaders.middleware.CorsMiddleware', #配置這一行
'django.middleware.common.CommonMiddleware',
# 'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
CORS_ORIGIN_ALLOW_ALL = True  #允許所有域名進行訪問
還有不要忘記在主路由下 加上api
urlpatterns = [
path('admin/', admin.site.urls),
path('api/',include('weblist.urls')), #跨域接口 api
]

這樣就可以啦 !!
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM