进行跨域的时候,axios使用(headers)请求头可能被拦截

Posted SmallCuteMonkey

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进行跨域的时候,axios使用(headers)请求头可能被拦截相关的知识,希望对你有一定的参考价值。

1.把你的headers改成params

2.进行相关的配置加上SimpleCORSFilter跨域请求的过滤器

	axios({
								url:url5,
								method:"post",
								headers:{
									token:token
								},
								data:cart
							}).then( res=>{

							console.log("------购物车信息-----");
							console.log(res);




						}

						);

可以把你的headers换成params试试看:

	axios({
								url:url5,
								method:"post",
								params:{
									token:token
								},
								data:cart
							}).then( res=>{

							console.log("------购物车信息-----");
							console.log(res);




						}

						);

2.加上SimpleCrosFileter过滤器

 response.addHeader("Access-Control-Allow-Headers"," Access-Control-Allow-Headers,
 token,Origin,Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers");

我的加入了token这个请求头,从前端获取的数据。

package com.qfedu.fmmall.config;

import org.springframework.stereotype.Component;

import javax.servlet.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@Component
public class SimpleCORSFilter implements Filter {

    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
        HttpServletResponse response = (HttpServletResponse) res;
        response.setHeader("Access-Control-Allow-Origin", "*");
        response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, HEAD");
        response.setHeader("Access-Control-Max-Age", "3600");
        response.setHeader("Access-Control-Allow-Headers", "access-control-allow-origin, authority, content-type, version-info, X-Requested-With");
        response.addHeader("Access-Control-Allow-Headers"," Access-Control-Allow-Headers,token,Origin,Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers");


        chain.doFilter(req, res);
    }
    public void init(FilterConfig filterConfig) {
    }
    public void destroy() {
    }

}

以上是关于进行跨域的时候,axios使用(headers)请求头可能被拦截的主要内容,如果未能解决你的问题,请参考以下文章

Vue前端使用axios统一进行拦截和进行跨域的处理

前后端分离Django解决跨域的问题

vue2.0中axios发送跨域请求的时候如何设置header来携带token

iOS解决跨域问题

如何用CORS来解决JS中跨域的问题

使用axios以及http-proxy-middleware代理处理跨域的问题