vue怎么和后端对接_vue后端框架推荐

2022-09-23 21:39:47 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

简单分享一下jeeplus框架部署liunx服务器跨域问题 ,因为我这个是前后端服务器分离所以配置了俩份

java后端配置 1.跨域后端配置nginx(图-1)

上配置

代码语言:javascript复制
 server {
        listen       80;
        server_name  xxx.xx.xxx;  #后端服务域名

        #charset koi8-r;

        #access_log  logs/host.access.log  main;
	
        location / {

			add_header Access-Control-Allow-Origin 'http://xxx.xx.xx';  #web端服务域名
			add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS,DELETE';
			#add_header Access-Control-Allow-Headers 'DNT,token,X-Mx-ReqToken,X-CSRF-Token,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
			add_header Access-Control-Allow-Headers '*';
			if ($request_method = 'OPTIONS') {
				return 204;
			}
			
			
			proxy_connect_timeout 300s;
			proxy_send_timeout 300s;
			proxy_read_timeout 3000s;
            proxy_set_header X-Real-IP  $remote_addr; 
			
			#proxy_set_header  Host $host:8082;
            #proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
            #proxy_set_header X-Forwarded-For $remote_addr;

			#proxy_pass  http://nginxPort;
            proxy_pass   http://127.0.0.1:8082; 
            #index  localhost:8082/;
			
				
        }	

		
	}

2.跨域后端代码修改(图-2)

上图 配置类 位置在:package com.jeeplus.modules.sys.security.shiro.JWTFilter; ===>最后一个方法preHandle

好啦,就这么简单;后端跨域就解决啦~ 如果你是同一台服务器,但是不通域名呢也可以参照修改,如果直接都是用ip应该是不存在跨域问题哦!

接下来请看前端配置修改

——————————–我———–是———-分———-界————-线 ——————————-

vue端跨域 1.首先还是nginx配置附图(图-1)

上配置

代码语言:javascript复制
    #vue springboot
server {
    listen       80;
    server_name  xxx.xxx.xx;  #web端域名
	
    location ^~ /userfiles {
        proxy_pass              http://xxx.xx.xxx.xx:xx/userfiles;   #后端ip
        proxy_set_header        Host xxx.xx.xxx.xx;   #后端ip
        proxy_set_header        X-Real-IP $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    }

	location / {
		root X:/xxx/xxxx;   #web项目存放位置
		try_files $uri $uri/ @router;
		index index.html;
	}
	#对应上面的@router,主要原因是路由的路径资源并不是一个真实的路径,所以无法找到具体的文件
	#因此需要rewrite到index.html中,然后交给路由在处理请求资源
	location @router {
		rewrite ^.*$ /index.html last;
	}
}

这里 如果不配置 ~^ /userfiles 会让项目内的文件等全部跨域,所以必须配置,选择好自带文件上传位置后在此处配置好,后续自带生成的文件上传就都会出现在该位置下拉~

这里配置这个是让前端服务器能够正常找到后端服务的

2.开始web端代码修改了。

  1. 如下图找到src.sys.config.SysConfig.vue 也可以全局搜索产品logo 在对应位置添加代码:headers="{token:$cookie.get('token')}" 带符号哦,即可。
  1. 如下图找到src.httpRequest.js 修改代码为 axios.defaults.withCredentials = false
  1. 与2.2同一个文件内在往下扒拉就可以找到最后一个修改处拉 ,添加代码 config.headers.token = Vue.cookie.get('token')

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/171175.html原文链接:https://javaforall.cn

0 人点赞