Rails render json 返回到客户端的对象 id 减小或者增加一位数

zqalyc · 2014年07月31日 · 最后由 hlcfan 回复于 2014年08月02日 · 1971 次阅读

使用 mysql 数据库和gem 'jbuilder'

def show 
@user=User.find_by_id(11406801162481275)
p @user.id //输出为11406801162481275
id=11406801162481275
render json: {success:true,msg:@user,user_id:id}
end

但是客户端接收到的@user的 id 变为 11406801162481276 了,并且 user_id 也是 11406801162481276,但是 id=11406801162481276,那么客户端接收的 user_id=11406801162481276

浏览器 XHR 里面 JSON 结果是多少?

#1 楼 @huacnlee XHR 的输出的 id 是正确的

@zqalyc 客户端指的是浏览器么?是 js 里面吗?如果是,整形超过 2^53 会有精度丢失哦!

#3 楼 @mojidong 应该就是这个问题了

#3 楼 @mojidong 果然,在浏览器 console 里面直接输 11406801162481275 会变成 11406801162481276 学习了

还是用字符串吧

需要 登录 后方可回复, 如果你还没有账号请 注册新账号