uniapp 开发出现这个 Error in onLoad hook: “SyntaxError: Unexpected end of JSON input“

uniapp 开发出现这个 Error in onLoad hook: “SyntaxError: Unexpected end of JSON input“_第1张图片
原因:由于JSON.parse无法识别某些url中的特殊字符比如&等特殊符号造成的。

解决办法:
页面A(JSON.stringify传参)

uni.$ec.route({
        url: '/pages-euler_yw/pages-training/detail/index',
        params: {
          // 修改后的用法,加入加密
          // data: encodeURIComponent(JSON.stringify(item)),
          // 修改前,如果里面有特殊字符就会报错
          data: JSON.stringify(item),
        },
      });

页面B(JSON.parse接受参数)

接收页面

onLoad(options) {
    const data = options.data;
    if (data) {
      this.info= JSON.parse(data);
      // 使用这个解密,会报错
       this.info= JSON.parse(decodeURIComponent(data));
    }
  },

uniapp 开发出现这个 Error in onLoad hook: “SyntaxError: Unexpected end of JSON input“_第2张图片

你可能感兴趣的:(uniapp,json,uni-app,javascript)