这个是我的错误信息,由于vue的端口号与tomcat的不一致,所以要进行跨域处理,这个问题各种百度,有说在controller上加注解的,又是在springmvc的配置文件上添加东西的,这些我试过了,可能我使用的时候出错了,当时springmvc的版本也比较低没有@CrossOrigin这个注解,所以没有用,下面这个方法试了下就可以不报错了,可以请求到方法了

这个我是访问ssm中的一个方法/pc/account/userBasic/edit,方法的路径
vue的一个组件中

$.ajax ({ url:"http://localhost:8080/pc/pc/account/userBasic/edit", type: 'POST', contentType:"application/json", data:userBasic, dataType: 'json', success: function (response) { alert("aadda") } 

然后这就需要一个跨域的过滤器,新建一个过滤类

import java.io.IOException; 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; public class CrossFilter implements Filter { private boolean isCross = false; @Override public void destroy() { isCross = false; } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest) request; HttpServletResponse res = (HttpServletResponse) response; if (isCross) { res.setHeader("Access-Control-Allow-Origin",req.getHeader("Origin")); if(req.getHeader("Origin")!=null&&!"".equals(req.getHeader("Origin"))){ res.setHeader("Access-Control-Allow-Origin",req.getHeader("Origin")); }else{ res.setHeader("Access-Control-Allow-Origin","*"); } res.setHeader("Access-Control-Allow-Credentials", "true"); res.setHeader("Access-Control-Allow-Headers", "Accept,Accept-Encoding,Accept-Language,Connection,Content-Length,Content-Type, Cookie,Host,Origin,Referer,User-Agent, Authorization,X-Requested-With,OsType"); res.setHeader("Access-Control-Allow-Methods", "POST,GET, HEAD,PUT, DELETE, TRACE, OPTIONS"); } if("OPTIONS".equalsIgnoreCase(req.getMethod())){ response.getOutputStream().close(); }else{ chain.doFilter(req, res); } } @Override public void init(FilterConfig filterConfig) throws ServletException { String isCrossStr = filterConfig.getInitParameter("IsCross"); isCross = isCrossStr.equals("true") ? true : false; } } 

然后呢在web.xml配置相关的过滤器

<filter> <display-name>CrossFilter</display-name> <filter-name>CrossFilter</filter-name> <filter-class>com.edu.axios.CrossFilter</filter-class> <init-param> <param-name>IsCross</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>CrossFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 

这个是成功的界面