微信中网页post ajax请求偶尔乱码,如何诊断解决?

发布于 2022-09-01 07:02:22 字数 697 浏览 9 评论 0

我们有一个rest的api,接收自己web页面提交的json作为参数.
开发环境没任何问题.但上线后从应用服务器的错误日志中发现api偶尔收到json为乱码.

比如:
n��^YhN�I~�)n�n�8��jn8X��*eC�3��scS"�"F�6GW'V"�"�f��V7�F��C#C&cCcSS��C�#�V3#fVc&��6C#sCCsCS#SSC"�"GV��GV"�""�"Ɩ�"�"�GG�����wV������6���7���&���Ԧ�SԦw�E���w��b֖F�#C3�cssb�F��3b7��S�6&�#�3SS&&33c6#f��FsC#���2'F"�"7V�f&�V"�f�7V�"6'VGVE��V"�"#S�3�#ss��#"�"�F"�"��C#C&cCcSS��C�#�V3#fVc&"

从错误日志来看一般为比较小众的android手机发起的错误请求.比如努比亚某型号.

我们用户基本在微信中访问web页面,而我们在web页面javascript发起ajax时都添加了
content-type:application/json;charset=UTF-8

请问出现此问题可能出现的原因有哪些?
1. 客户端浏览器兼容性的本身问题?
2. 应用服务服务端的解析逻辑问题?

针对移动手机的api遇到的问题千奇百怪.不知各位有没有遇到这种情况?

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

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

发布评论

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

评论(3

终止放荡 2022-09-08 07:02:22

我也遇到了同样的问题,不论是基于angularjs的$http.post还是rails form,生产环境的日志显示常会遇到post数据无法解析的问题,和楼主一样的乱码...

已经查了几天了,找不到原因....

----------狗x的腾讯分割线------------

这个问题确认是Android微信的坑(bug),参考这个贴子:
http://bbs.csdn.net/topics/390992194

下面是我的回复....
哭了,终于找到组织了,泪流满面,我们用的阿里云,nginx作反代,后端是puma跑的Ruby on Rails,用户在微信网页里post表单,有用户会出现puma报的底层错误,通过nginx日志把请求体打印出来,发现了同样的情况,同一个表单在同一部手机里的同一时间内被post了两次到服务器,IP还不同。。,一次可以正常解析,一次无法解析

这样的问题只会发生在post请求上,但是我们用angularjs的另一个网站通过$http.post也发现了消息体乱码的情况,不知道是否与此有关。

蝶…霜飞 2022-09-08 07:02:22

这个需要你自己分步调试一下,比如进行如下操作:

  • 检查WEB页面的编码与开发环境,布署环境是否一致,最简单的测试--在POST前用JS弹出提交数据中的中文部分;

  • 检查应用服务端在接受数据时,是否有进行转码操作,一般编辑统一后无需转编码;

  • 检查服务错误日志输出编码

乱码问题很常见的,一般都是编码不统所造成,调试下就好了。希望上述操作对你有所帮助。

时光礼记 2022-09-08 07:02:22

content-type:application/json;charset=UTF-8
应该在服务端上添加这个头信息,光是客户端写这标识是没有用的

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