php返回的是json数据,其中的数字都是带引号的,用JSON.parse()转换,axios就走catch了,怎么解决

发布于 2022-09-06 03:23:59 字数 291 浏览 10 评论 0

clipboard.png

clipboard.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

梓梦 2022-09-13 03:23:59

本来就是对象就不用再解析了,
可以用的时候转换为数字了。

野の 2022-09-13 03:23:59

axios没咋用过, 不过如果后端返回的就是json, 那么你请求的时候可以配置返回的格式为json,就不用去处理了.
如果没法配置要通过JSON.parse解析的话就用单引号引起来 JSON.parse('{{ json_encode($phpArray) }}'), 只是这样数组里面内容复杂了还是容易出问题.

飘过的浮云 2022-09-13 03:23:59
JSON.parse({code: '0', data:'name', msg: '正常'})

JSON.parse()解析对象是出错的。
返回的结果本该是数字都是字符串。这个可以php(后端)来做。相对简单。

心在旅行 2022-09-13 03:23:59

不是数字带引号, 是因为这个数字本来就是一个字符串, 从PHP端传来的就是字符串.
如果需要是数据, 让PHP转或者你使用的时候转.

两个我 2022-09-13 03:23:59

axios回来的时候已经是JS对象了,可以直接使用。不要再用parse方法

波浪屿的海角声 2022-09-13 03:23:59

axios自动帮你用了JSON.parse 你不用手动调用这个方法了

此岸叶落 2022-09-13 03:23:59

可以看一下那边传过来的json中数字是否是带引号的

思慕 2022-09-13 03:23:59

已经可以解析,说明数据没问题,只是数据类型的问题。
可以在用的时候再处理,不过最好让PHP那边把数据处理好。

羅雙樹 2022-09-13 03:23:59

虽然没用过axios,但是个人感觉在响应请求的时候,它应该根据响应头的response-type自动转换json字符串为js对象了,所以再转换肯定是有问题的,看你打印的数据已经是对象了

另外数字带引号的问题,你php如果用select获取出来的时候(不确定你ORM是怎么实现的,有的会根据字段类型,自动转换数据),大部分都是直接返回的字符串,如果你需要整数或浮点数,可以使用intval或floatval。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文