//假设是一个任意值的Object
var data = {"name":"Nameless"};
// Data 转码
//使用JSON.stringify()将Object转为JSON
//然后使用encodeURIComponent()对特殊文字(中文字符等非ascii)进行转码
//在使用btoa()转换成base64
let dataEncode = btoa(encodeURIComponent(JSON.stringify(data)));
//传值
var buttonItem = '<a onclick="detailMachine(\''+dataEncode+'\');">';
// Data 解码
const dataDecodeFc = (data)=>{
let dataDecode = JSON.parse(decodeURIComponent(atob(data)));
}
直接转成JSON可能会遇到 ",'(). 等标点符合混乱导致各种SyntaxError,上述代码将原始数据data先将非ascii字符转为万国码,然后将万国码联通数据一同转为base64,杜绝因为JSON与Javascript各种奇妙错误,由于这是在客户浏览器端进行的对服务器压力没那么大
JavaScript OnClick 传值的解决方案 搭配模板引擎
于 2022-01-06 14:54:58 首次发布
7680

被折叠的 条评论
为什么被折叠?



