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>