Vue框架的axios,为什么访问不到Java后端?

前端是Vue+ElementUI

后端是Java SptringBoot

这是前端代码

    <el-row>
      <el-button @click="gotoHelloWorld">跳转到HelloWorld页面</el-button>
    </el-row>

            gotoHelloWorld() {
              let postData = this.qs.stringify({
                testid: this.testid
              });
              this.axios({
                method: 'post',
                url: '/hw',
                data: postData
              }).then(response => {
                this.testid = response.data;
              }).catch(error => {
                console.log(error);
              })
            }

 

这是后端代码

	@RequestMapping("/hw")
	@ResponseBody
	public String Hw() {

		System.out.println("Test");

		String rv = "";

		List<Test> resultList = null;
		resultList = LeanCloudHelper.findAVObject();

		rv = resultList.get(0).getId();

		System.out.println(rv);

		return rv;

	}

 

前端的按钮按完后,后端的代码并没有执行

请问是哪里错了?

额,大意了。

没注意axios不封装的情况下,需要完整的url。

建议你封装一下axios。

那个axios里面的data,就是一个js对象。不需要Json转化

 

前台按钮按下后,后台的Java方法根本没执行

在main.js进行如下设置后,成功访问Java代码

 

axios.defaults.baseURL = 'http://localhost:8080/'