使用Express作为后端程序,
通过JSON编码后返回数据:
const data = JSON.stringify(originData)
res.send(`${data}`);
前端在接受到之后:
useEffect(() => {
console.log(111)
axios.get('http://localhost:3000/blocks/1').then((res) => {
console.log(JSON.stringify(res.data.results)) // 这里有数据
const blocksRes = res.data.results
console.log(typeof blocksRes) // 打印的是:object
setBlocks(res.data.results)
})
}, [])
这里有一个疑问,
1、后端返回JSON编码后的数据,在前端axios接受之后,就是转为了JavaScript对应的对象是吗?
2、这里打印的是一个数组样式的数据:
console.log(JSON.stringify(res.data.results))
结果:
[{"object":"block","id":"17ddeaa8-cb4b-803e-9807-e9197656cee6","parent":{"type":"page_id","page_id":"17ddeaa8-cb4b-8092-9a2c-c1617a013cdd"},"created_time":"2025-01-16T10:35:00.000Z","last_edited_time":"2025-02-07T07:06:00.000Z","createdUser":{"object":"user","id":"4dbd-acb7-6d3fd574055822"},"last_edited_by":{"object":"user","id":"4dbd-acb7-6d3fd574055822"},"has_children":false,"archived":false,"Rrash":false,"type":"paragraph","paragraph":{"rich_text":[{"type":"text","text":{"content":"11","link":null},"annotations":{"bold":false,"italic":false,"strikethrough":false,"underline":false,"code":false,"color":"default"},"plain_text":"11","href":null}],"color":"default"}},{"object":"block","id":"193deaa8-cb4b-807c-907d-c36955a9904f","parent":{"type":"page_id","page_id":"17ddeaa8-cb4b-8092-9a2c-c1617a013cdd"},"created_time":"2025-02-07T07:06:00.000Z","last_edited_time":"2025-02-07T08:54:00.000Z","createdUser":{"object":"user","id":"4dbd-acb7-6d3fd574055822"},"last_edited_by":{"object":"user","id":"4dbd-acb7-6d3fd574055822"},"has_children":false,"archived":false,"Rrash":false,"type":"paragraph","paragraph":{"rich_text":[{"type":"text","text":{"content":"22","link":null},"annotations":{"bold":false,"italic":false,"strikethrough":false,"underline":false,"code":false,"color":"default"},"plain_text":"22","href":null}],"color":"default"}},{"object":"block","id":"193deaa8-cb4b-8019-9543-f2a38aa45c23","parent":{"type":"page_id","page_id":"17ddeaa8-cb4b-8092-9a2c-c1617a013cdd"},"created_time":"2025-02-07T08:54:00.000Z","last_edited_time":"2025-02-07T08:54:00.000Z","createdUser":{"object":"user","id":"4dbd-acb7-6d3fd574055822"},"last_edited_by":{"object":"user","id":"4dbd-acb7-6d3fd574055822"},"has_children":false,"archived":false,"Rrash":false,"type":"paragraph","paragraph":{"rich_text":[],"color":"default"}},{"object":"block","id":"193deaa8-cb4b-80ee-833b-c63b0abe9395","parent":{"type":"page_id","page_id":"17ddeaa8-cb4b-8092-9a2c-c1617a013cdd"},"created_time":"2025-02-07T08:54:00.000Z","last_edited_time":"2025-02-07T08:55:00.000Z","createdUser":{"object":"user","id":"4dbd-acb7-6d3fd574055822"},"last_edited_by":{"object":"user","id":"4dbd-acb7-6d3fd574055822"},"has_children":false,"archived":false,"Rrash":false,"type":"code","code":{"caption":[],"rich_text":[{"type":"text","text":{"content":"{\n aaa: 111,\n bbb: 222,\n}","link":null},"annotations":{"bold":false,"italic":false,"strikethrough":false,"underline":false,"code":false,"color":"default"},"plain_text":"{\n aaa: 111,\n bbb: 222,\n}","href":null}],"language":"json"}},{"object":"block","id":"193deaa8-cb4b-8040-8014-ccf112c8b971","parent":{"type":"page_id","page_id":"17ddeaa8-cb4b-8092-9a2c-c1617a013cdd"},"created_time":"2025-02-07T08:55:00.000Z","last_edited_time":"2025-02-07T08:55:00.000Z","createdUser":{"object":"user","id":"4dbd-acb7-6d3fd574055822"},"last_edited_by":{"object":"user","id":"4dbd-acb7-6d3fd574055822"},"has_children":false,"archived":false,"Rrash":false,"type":"paragraph","paragraph":{"rich_text":[],"color":"default"}},{"object":"block","id":"193deaa8-cb4b-80d2-91d6-d950d3d73dc2","parent":{"type":"page_id","page_id":"17ddeaa8-cb4b-8092-9a2c-c1617a013cdd"},"created_time":"2025-02-07T08:55:00.000Z","last_edited_time":"2025-02-07T08:55:00.000Z","createdUser":{"object":"user","id":"4dbd-acb7-6d3fd574055822"},"last_edited_by":{"object":"user","id":"4dbd-acb7-6d3fd574055822"},"has_children":false,"archived":false,"Rrash":false,"type":"paragraph","paragraph":{"rich_text":[],"color":"default"}}]
这里看出是一个数组,为何:这里打印是object呢?
console.log(typeof blocksRes) // 打印的是:object
Axios 会根据响应的 Content-Type 头部,自动解析 JSON 数据并将其转换为 JavaScript 对象.
如果你不想让 Axios 自动解析 JSON,可以通过设置 responseType 来更改行为,例如 responseType: 'text'
对于问题二,JavaScript的typeof 数组返回的就是object,可以用Array.isArray或者instanceof判断数组。
typeof []
// 'object'
[] instanceof Array
// true
Array.isArray([])
// true
用的vite运行vue,后端我开了环境软件,wampserver 是不是因为后端的PHP文件没有被解析???所以返回的是php的源代码???我先用的axios请求,结果是这样,后来换了XMLHttp请求还是这样,刚学vue3,卡在这了,百度了好久没找到答案,求大佬解答
为什么可以获取后端数据,但是要绑定的时候就显示空值 绑定数据会显示但是也会报错
后端返回双精度数据,前端无法正常显示,js只支持浮点数。除了后台转字符串,前端循环添加toFixed,还有别的好的方法吗?
后台返回一个html文件的链接,想要在前端预览查看,使用window.open("链接")打开,但是浏览器直接下载了,并没有打开文件 后台增加Content-Disposition:inline还是打开
我设计了一个从前端接收Json的控制器。控制器被正确调用 当我将Json的元素打印到控制台时,它们变成“null”。 前端向后端发送json。控制器被正确调用,但是当我将用户名和密码打印到控制台时,它们的值变为空。 从前端发送的Json。前端的请求url为 这是我的控制器代码: 以下是我的会员: 我尝试添加@刚体到方法,但它原来是
请求的接口信息: 没有返回东西: 控制台报错: 前端代码: import axios from 'axios' import { baseURL, taskURL } from './resource' // 3.ES6 Promise 封装方式 export function request(options) { } 求大家帮个忙看看到底是哪里问题,要怎么修改,谢谢
我正在尝试将一个名为“ethAddress”的值从客户端的输入表单传递给FastAPI,以便我可以在函数中使用它来生成matplotlib图表。 我使用fetch在Charts中发布输入的文本。tsx文件: 然后我有了我的api。py文件设置如下: 据我所知,我使用< code > fetch < code > POST 请求将请求体中的“ethAddress”从客户端传递到后端,在后端,我可以访
本文向大家介绍JS传递对象数组为参数给后端,后端获取的实例代码,包括了JS传递对象数组为参数给后端,后端获取的实例代码的使用技巧和注意事项,需要的朋友参考一下 前端JS代码: 重点注意:将对象数组转为JSON形式的字符串:JSON.stringify 后端获取: 以上就是小编为大家带来的JS传递对象数组为参数给后端,后端获取的实例代码全部内容了,希望大家多多支持呐喊教程~