zoukankan      html  css  js  c++  java
  • 记一次node上的小采坑 [TypeError: Converting circular structure to JSON]

    最近在做微信授权登陆,因为安全性,Acess_Token这一部分是在node上获取,然后再返回给前端。

    node用的axios,在获取Acess_Token的时候axios的catch捕获到了一个错误,[TypeError: Converting circular structure to JSON]。

    百度搜了一下说是因为 JSON.stringify 引起的,不记得写过JSON.stringify,但还是找了找,就那么几行的代码翻了个底朝天也没看到哪怕有一句的 JSON.stringify。

    从头到尾排各种错误各种调试,真是想不出来是哪里的错误,甚至还想换成JQ或者fetch试试,结果……暂且不提。

    干脆把ajax那部分的业务逻辑代码全部注释掉,然后只输出获取到的信息,结果catch没有异常了,直接输出了获取到的结果。

    找到了突破口就好说了,接下来又一步一步的调试,发现问题是出现在 res.send 的身上。

    ajax返回来的数据我放在了一个对象中的属性里,报错。

    但是如果只获取拿到的数据中的data字段,也就是不包括axios上的信息只有微信的信息(access_token, expires_in, refresh_token, openid, scope),就可以正常返回了。

    初步估计是因为axios返回结果比较特殊,无法正常返回,具体研究有时间会研究一下,这里做一个小标记。

  • 相关阅读:
    十个MySQL常用函数
    写给三十岁的自己
    EJS 模板引擎
    发送HTTP请求(GET,POST)
    路由模块化
    原生NodeJS封装Express路由
    Hook简介
    State Hook (useState)
    Effect hooks
    useContext
  • 原文地址:https://www.cnblogs.com/xwant/p/8046456.html
Copyright © 2011-2022 走看看