js数字过长导致前后端数字不一样(真是js的一个大坑)
来源:程序员人生 发布时间:2014-12-13 09:02:14 阅读次数:2597次
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"]
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠