关于axios请求接收到的后台数据格式为string类型的问题

前端请求到后台的数据发现是string类型的,而后台同事则一再坚持后台发送的时候是object类型,前端用json.parse()转换出现语法错误转换不了,下面这张是后台返回的数据格式

仔细看发现后台把json的key值写成了number格式,axios对数据的处理格式要求很严格,所以导致框架在处理的时候把data处理成了string类型,最后通知后台同事更改类型,如下图

然后前端不用做任何处理数据列表就出来了,data也是object格式。

AJAX(Asynchronous JavaScript and XML)是一种前端技术,用于创建无刷新、异步的数据交换,使得网页可以在后台与服务器通信而无需刷新整个页面。在Java中,Ajax通常通过JavaScript库如jQuery、axios等发送HTTP请求。 对于设置接受流数据(比如文件上传或大块文本),你需要在发送请求时指定正确的Content-Type,并在后端处理部分配置相应的解析。例如,在发送POST请求时,你可以这样做: ```javascript var xhr = new XMLHttpRequest(); xhr.open('POST', 'your-url', true); xhr.setRequestHeader('Content-Type', 'multipart/form-data'); // 或者 'application/octet-stream' for binary data // 定义处理响应的函数 xhr.onload = function () { if (xhr.status === 200) { var responseStream = xhr.response; // 这是一个Blob对象,需要进一步处理 handleDataStream(responseStream); } else { console.error('Request failed. Status:', xhr.status); } }; xhr.send(fileOrBinaryData); // fileOrBinaryData是你想发送的流数据 ``` 后端(如Spring MVC、RESTful API)需要解析这个流数据,这取决于使用的框架。例如,在Spring MVC中,可以使用`MultipartFile`处理文件上传: ```java @PostMapping("/upload") public ResponseEntity<String> handleFileUpload(@RequestParam("file") MultipartFile file) { try { // 对文件进行处理... return ResponseEntity.ok("File uploaded successfully"); } catch (Exception e) { return ResponseEntity.badRequest().body(e.getMessage()); } } ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值