この記事の内容は、springboot と element-axios がクロスドメイン リクエスト (コード) を実装する方法に関するものです。必要な方は参考にしていただければ幸いです。
1. 要素プロジェクトを初期化します
1.1: vue init Web ページ 'プロジェクト名'
1.2: npm i element-ui -S
1.3: main.js 内
import ElementUI from 'element-ui' import 'element-ui/lib/theme-chalk/index.css' Vue.use(ElementUI)
2 を追加します。 axios クロスドメイン リクエストを追加します。
main.js に
/** * 跨域设置 * @type {AxiosStatic} */ import axios from 'axios' Vue.prototype.$axios = axios Vue.config.productionTip = false axios.defaults.withCredentials = false//这个默认即为false,如果改为true,可以传递session信息,后端要做相应修改来放行,
##3. ページを作成します#<template>
<el-button @click="post">发送请求</el-button>
</template>
<script>
import axios from "axios";
export default {
data() {
return {
activeIndex2: '1'
};
},
methods: {
handleSelect(key, keyPath) {
console.log(key, keyPath);
},
post(){
axios.get('http://localhost:8080/test')
.then(function (response) {
console.log(response,"已经成功发送请求!");
})
.catch(function (error) {
console.log("请求失败!");
});
}
}
}
</script>
#4.1 コントローラー クラスを追加します
@Controller @CrossOrigin public class TestController { @RequestMapping("/test") @ResponseBody public JsonResponseExt Test(){ System.out.println("在执行~~~~~~~~~"); return JsonResponseExt.success("执行"); } }
JsonResponseExt は自分でカプセル化したクラスです。オブジェクトまたは文字列を直接返すことができます。さらに、@CrossOrigin アノテーションをコントローラー クラスに追加する必要があります。そうしないと、フロントエンドの結果が返されます。エラーを報告する
@Configurationpublic class CorsConfig extends WebMvcConfigurerAdapter { @Override public void addCorsMappings(CorsRegistry registry) { System.out.println("----------------------"); registry.addMapping("/**") .allowedOrigins("*") .allowCredentials(true) .allowedMethods("GET", "POST", "DELETE", "PUT") .maxAge(3600); } }
#関連する推奨事項:
axios リクエストがドメインを越える方法
vue-cli axios リクエストとクロスドメイン######
以上がspringboot と element-axios がクロスドメインリクエストを実装する方法 (コード)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。