问题截图:

起因剖析:

JSON.parse无奈辨认某些url中的特殊字符,所以报错

原谬误写法:

页面跳转:

netStepFn() {  uni.navigateTo({    url: "/app/course/shopping?data=" + JSON.stringify(this.infoDict)  });},

新页面取参:

onLoad(option) {    // console.log(JSON.parse(option.data));    this.data = JSON.parse(option.data);}

解决办法:

JSON.stringify()之后将变量应用encodeURIComponent函数解决,这个encodeURIComponent() 函数能够把字符串作为 URI 组件来进行编码。在跳转到指标页面接管时用decodeURIComponent对URI 组件进行解码,前面在通过JSON.parse()将变量还原,这样子就能达到预期成果了

正确代码:

netStepFn() {  let infoDict = JSON.stringify(this.infoDict);  uni.navigateTo({    url: "/app/course/shopping?data=" + encodeURIComponent(infoDict)  });},
onLoad(option) {    let paramsData = decodeURIComponent(option.data);    // console.log(JSON.parse(option.data));    this.data = JSON.parse(paramsData);  }

ok了