说明:本人是菜鸟只会后端,一点都不会前端,而且刚入行不太久正在所以慢慢学习,大佬勿喷有什么不对的请指正。
情景说明:后端的id通过雪花算法,导致id过长超过16位,接收到的id如果超过16位后,则后面显示的是0000 入1234567898765431000000000,因为JS处理整数的长度最高为16位,从而会引起这个问题
//按键点击的方法actions.push('<a href="javascript: audit5('+row.id+')" class="btnLists1" title="${text('驳回')}" data-confirm="${text('确认要审核驳回该记录吗?')}"><i class="fa fa-remove"></i></a> '); //当我输出id的类型后,显示的是number类型functionaudit5(id){ console.log(typeof (id)); }
于是我经过不断的查找,用过id.toString()也不行,各种都测试过了,最后看到一个大佬的文章终于解决了 请看按键点击的方法有什么不同
actions.push('<a href="javascript: audit5(\''+row.id+'\')" class="btnLists1" title="${text('驳回')}" data-confirm="${text('确认要审核驳回该记录吗?')}"><i class="fa fa-remove"></i></a> ');
是的 没错 在这边传给事件的方法这里 本来是
udit5('+row.id+') ==>audit5(\''+row.id+'\')" // 获取的id前面和后面分别加一个\'
audit5('+row.id+') ==> audit5(\''+row.id+'\')" //获取的id前面和后面分别加一个\'
就此 完美解决。因为刚接触到前端,所以有些专业术语还有表达不太流程,说的不太明白,希望大家理解 谢谢。