vue中axios中post跨域SpringBoot获取不到RequestBody数据

目前使用axios实现vue中与后台数据交互,目前GET,DELETE都是正常使用,但是会有跨域的问题,我就是临时在返回头加上了Access-Control-Allow-Origin:”*”

但是一直由于POST提交数据后台数据一直获取不到RequestBody,我之前使用postman测试都是可以通过的,显示status failure后台也根本不报错,因为获取不到

开始是以为是我格式问题换了几种数据

axios.post('http://localhost:8080/xxx/model/' + path, modelIds).then(response = > {this.searchContent()
}).catch(function (error) {
    console.log(error);
});
axios.post('http://localhost:8080/xxx/process/model/27501', {
    comment: 'Fred',
    userName: 'Flintstone'
}).then(function (response) {
    console.log(response);
}).catch(function (error) {
    console.log(error);
});

const options = {
    method: 'POST',
    headers: {'content-type': 'application/json'},
    data: modelIds,
    url: 'http://localhost:8080/xxx/model/' + path
};
axios(options)

还有就是PUT提交时 application/x-www-form-urlencoded,后台用RequestParam,或者不写都可以接受,对象的话要set,get方法,我刚开始用的form-data,SpringBoot是获取不到数据的

我目前用的是nginx,代理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 好的,我可以回答关于Spring Boot和Vue之间的数据交互问题。在Spring Boot,可以使用@RestController注解来定义RESTful服务接口,然后通过Vue的$http库发送AJAX请求来获取数据。具体实现可以根据具体需求来设计。 ### 回答2: Spring Boot和Vue是两个独立的技术,分别用于后端开发和前端开发。在Spring Boot,我们可以使用Spring MVC来创建RESTful API,从而与前端进行数据交互。而在Vue,我们可以使用Axios来发送HTTP请求,获取后端的数据。 在Spring Boot,我们可以定义控制器类,使用 @RestController 注解,来处理前端请求。我们可以定义不同的方法来处理不同的请求,比如GET、POST、PUT、DELETE等。在方法,我们可以注入Service层的组件,从数据获取数据,并返回给前端。可以使用 @RequestBody 注解来接收前端传递的JSON格式数据。 在Vue,我们可以使用 Axios 库来发送HTTP请求。我们可以在组件使用生命周期钩子函数,比如 mounted,来在组件加载后发送请求。可以使用 axios.get(url) 发送GET请求,axios.post(url, data) 发送POST请求,axios.put(url, data) 发送PUT请求,axios.delete(url) 发送DELETE请求。可以通过 then 方法获取服务器返回的数据。 为了实现前后端的数据交互,需要确保后端和前端的请求路径是一致的。比如,后端的请求路径为 /api/users,前端发送GET请求时,也需要发送到 /api/users。 在后端返回数据给前端时,可以返回一个JSON格式的数据。前端可以通过 then 方法获取到这个JSON格式的数据,并对其进行解析、展示等操作。 总而言之,Spring Boot和Vue可以通过RESTful API实现数据的交互。后端使用Spring MVC创建API,前端使用Axios发送HTTP请求并解析返回的JSON数据。通过定义一致的请求路径和数据格式,实现前后端的数据交互。 ### 回答3: 在Spring Boot和Vue进行数据交互可以通过以下几种方式实现: 1. RESTful API: 在Spring Boot创建一个RESTful API来提供数据Vue通过发送HTTP请求来获取数据。可以使用Spring Boot的注解 `@Controller` 或者 `@RestController` 来定义API接口,并通过 `@RequestMapping` 或者 `@GetMapping` 等注解来指定路由地址和请求方法。在Vue使用Axios或者Fetch等HTTP库发送请求并处理服务器返回的数据。 2. WebSockets: 使用Spring Boot和Vue都支持的WebSockets协议来进行实时数据交互。在Spring Boot使用Spring WebSocket来创建一个WebSocket服务器,而在Vue使用WebSocket API与服务器建立连接并发送、接收数据。 3. AJAX: 在Vue可以使用Vue Resource或者Axios等库发送异步请求到Spring Boot服务器获取数据。在Spring Boot使用`@RestController`注解来创建API接口,并使用`@RequestMapping`注解来指定路由地址和请求方法。Vue发送请求时可以通过URL传递参数来从服务器获取特定的数据。 4. GraphQL: 使用GraphQL来定义和查询API接口。在Spring Boot使用GraphQL Java Tools或者其他GraphQL库来创建GraphQL接口,并在Vue使用Apollo等库来发送GraphQL查询请求。 需要注意的是,在实现数据交互之前,需要先确保Spring Boot和Vue项目都已正确配置和启动,并且服务器可以正确处理和响应请求。另外,还需要处理问题,可以在Spring Boot通过使用`@CrossOrigin`注解或者自定义过滤器来解决。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值