报错的返回:Error in onLoad hook: "SyntaxError: Unexpected end of JSON input"
原因:使用JSON.stringify(json)把json转换为字符串的时候,然后通过链接带到另一个页面的时候,由于字段太长,导致字符串丢失,JSON.parse(json)无法转换回来而报错
解决方法:1、在传值页面,转换成字符串之后,也就是JSON.stringify(json)之后,要再进行一步用encodeURIComponent 编码
bg_btn(){
let that =this;
let fileList = JSON.stringify(that.fileBox)
uni.navigateTo({
url: '/pages/book/addBook?fileList='+encodeURIComponent(fileList)
})
},
2、接收页:先转换 decodeURIComponent(data),然后在 JSON.parse() 取得json数据 赋值即可
onLoad(options) {
let fileList = decodeURIComponent(options.fileList)
this.fileList = JSON.parse(fileList);
},