设置请求头 允许跨域
@Override 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"); //允许访问的方式 response.setHeader("Access-Control-Max-Age", "3600"); // 超时时长 response.setHeader("Access-Control-Allow-Headers", "x-requested-with"); // 自定义的头信息 chain.doFilter(req, res); }
添加 dataType: 'jsonp'
jQuery.ajax({ type: "post", url: url, dataType: "jsonp", jsonp: 'callBack', success: function(result) {} })
设置代理
找到config/index.js,在dev(本地)中添加 或者 build(打包线上)中 添加 如下代码
// proxyTable: { // '/api': { //进入重新的名称 // target: 'http://192.168.1.217:8083/', // 服务端接口地址 // changeOrigin: true, // 是否允许跨越 // pathRewrite: { // '^/api': '' // 重写, // } // }, // },
使用 以 /api 开头 则会进入proxyTable
axios.post('/api/crm/appendix/postfile', formdata) .then(res => { success( res.data.data ) }) .catch(res => { failure('error') })