1、編寫一個配置類,而且註冊CorsFilter:html
注意容許跨域的域名不要寫錯vue
@Configuration public class ZysuyuanCorsConfiguration { @Bean public CorsFilter corsFilter() { // 初始化cors配置對象 CorsConfiguration corsConfiguration = new CorsConfiguration(); // 容許跨域的域名,若是要攜帶cookie,不能寫*,*表明全部域名均可以跨域訪問 // corsConfiguration.addAllowedOrigin("http://localhost:10008"); // 本機使用nginx測試 corsConfiguration.addAllowedOrigin("http://localhost:8778"); // corsConfiguration.addAllowedOrigin("http://localhost:8778"); corsConfiguration.setAllowCredentials(true); // 容許攜帶cookies corsConfiguration.addAllowedMethod("*"); // 表明全部的請求方法:get、post、put、delete corsConfiguration.addAllowedHeader("*"); // 容許攜帶任何頭信息 // 初始化cors配置源對象 UrlBasedCorsConfigurationSource configurationSource = new UrlBasedCorsConfigurationSource(); configurationSource.registerCorsConfiguration("/**",corsConfiguration); // 返回corsFilter實例,參數:cors配置源對象 return new CorsFilter(configurationSource); } }
2、編寫vue的axios請求ios
注意:若是使用vue2.0中使用axios進行(put,post請求時),遇到415錯誤(參考:https://www.cnblogs.com/shuaifing/p/7921102.html)nginx
解決辦法:在axios的第三個參數config中,設置請求頭信息'Content-Type': 'application/json;charset=UTF-8'
json
insertDevice(query) { return request({ url: '/item/device/save', method: 'post', data: JSON.stringify(query), headers : { 'Content-Type' : 'application/json;charset=UTF-8' // 注意此處的頭信息要寫爲 } }) }application/json;charset=UTF-8
補充:axios
vue中子組件調用父組件的方法(參考:http://www.javashuo.com/article/p-mzsoikxx-gw.html)跨域
一、$emit方法cookie
父:app
@fselect綁定父組件中的searchBydeviceName方法cors
<add-new ref="feditForm" @fselect="searchBydeviceName" @close="closeEditor" :isEdit="isEdit" :addnewData.sync="fpojo" ></add-new>
子組件調用: