vue案例:商城(三)

4.当用到后台数据时,要进行代理处理。

在这里插入图片描述

module.exports = {
  dev: {

    // Paths
    assetsSubDirectory: 'static',
    assetsPublicPath: '/',
    proxyTable: {
      '/luo':{
        target:'http://localhost:8080/CakeShopping',// 要跨域的域名
        changeOrigin:true,// 是否开启跨域
        pathRewrite:{"^/luo":''}//luo相当于一个别名,
      },
    },

	let url='/luo/api/getHome'
			this.$axios.get(url)
			.then((res)=>{
			}

5.项目上线

当项目打包成apk时,就不能用proxy,会报错。此时从后台设置cros,我的后台是java,让后台允许跨域。

package filter;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;



public class corsFilter implements Filter{

	@Override
	public void destroy() {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain)
			throws IOException, ServletException {
		HttpServletRequest request = (HttpServletRequest) req;
		HttpServletResponse response = (HttpServletResponse) resp;
	    System.out.println("Filter 过滤器 执行 了");

        // 响应标头指定 指定可以访问资源的URI路径
        response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin"));
 
        //响应标头指定响应访问所述资源到时允许的一种或多种方法
        response.setHeader("Access-Control-Allow-Methods", "POST, GET, PUT, OPTIONS, DELETE");
 
        //设置 缓存可以生存的最大秒数
        response.setHeader("Access-Control-Max-Age", "3600");
 
        //设置  受支持请求标头(自定义  可以访问的请求头  例如:Token)
        response.setHeader("Access-Control-Allow-Headers", "x-requested-with,Token");
 
        //自定义 可以被访问的响应头
        response.setHeader("Access-Control-Expose-Headers","checkTokenResult");
 
        // 指示的请求的响应是否可以暴露于该页面。当true值返回时它可以被暴露
        response.setHeader("Access-Control-Allow-Credentials","true");




	    	chain.doFilter(req, resp);	
	}

	@Override
	public void init(FilterConfig arg0) throws ServletException {
		// TODO Auto-generated method stub
		
	}

}

web.xml

<filter>
  	<filter-name>corsFilter</filter-name>
  	<filter-class>filter.corsFilter</filter-class>
  </filter>
  <filter-mapping>
  	<filter-name>corsFilter</filter-name>
  	<url-pattern>/*</url-pattern>
  </filter-mapping>
</filter>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值