国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > web前端 > htmlcss > js数字过长导致前后端数字不一样(真是js的一个大坑)

js数字过长导致前后端数字不一样(真是js的一个大坑)

来源:程序员人生   发布时间:2014-12-13 09:02:14 阅读次数:2613次

function send(){ var users=[1000000013810001001]; var data={ users:users, flag:true }; var address="192.168.30.237:10101"; alert(JSON.stringify(data)); $.ajax({ url:"<%=request.getContextPath()%>/api/commandKey/CHAT_BLOCK", type:"post", dataType:"json", data:{"params":JSON.stringify(data),"address":address}, success:function(data){ alert(JSON.stringify(data)); } })

代码如上

后台我直接用

JSONObject jo = JSONObject.fromObject(jsonStr); UserStatusVo vo = null; vo = (UserStatusVo) jo.toBean(jo, UserStatusVo.class);

后台我直接用json字符转化成java对象,后面发现我怎样传都没法给用户禁言

我还以为何系列化问题,纠结了好久,耗了我半天的时间

后面对照了传过来的数字,仔细比较

阅读器开始时的值:1000000013810001001 <pre name="code" class="javascript"><pre name="code" class="javascript">阅读器传过来的值:100000001381000100<span style="color:#FF0000;"><span style="background-color: rgb(255, 0, 0);">0</span></span>




fuck,真是被气得

js对象使用 JSON.stringify();方法数字居然被减掉1个1

太狗血了,希望大家以后特别注意

最后我直接把它改成字符串就ok了

<pre name="code" class="javascript">var users=["1000000013810001001"]



生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生