最近在做微信授权登陆,因为安全性,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返回结果比较特殊,无法正常返回,具体研究有时间会研究一下,这里做一个小标记。

相关文章:

  • 2021-07-09
  • 2022-12-23
  • 2021-11-01
  • 2022-01-13
  • 2021-05-04
  • 2022-01-12
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-10-28
  • 2021-11-06
  • 2021-09-24
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案