QQ/微信内置浏览器接收post表单数据的问题

QQ、微信浏览器里,页面post到另一个页面的表单操作,form传递的值时而正常获取,时而为空……

可能的原因

client客户端在请求的时候把数据发送到QQ/微信的代理服务器,代理服务器可能是CDN加速,也可能是数据过滤处理,然后代理服务器反馈给client 805,这个是微信自己定义的http协议,返回这个的时候,它并未把我们正确的表单数据反馈给client,所以当下面向我们服务器发送数据时出现了问题,在我们服务器收到的form数据已经不正确了。

可能的解决办法

老杨在此项目中测试如下几个方案是可行的,各位童鞋按需选择。

1、将form表单的target属性修改为"_self"或留空

// html
target="_self"

// jquery
$('#form').attr("target", "_self");

2、将form表单的method属性修改为"get"

有童鞋反馈说 post 的数据都变成了 get 形式,直接修改为get方式试试。

3、form表单数据通过ajax提交

如果1、2方案均不可用,ajax提交数据的形式是最终的方案了。