uniapp vue 页面传参问题encodeURIComponent

页面传参objet json序列化后可能会报错

Uncaught SyntaxError: missing ) after argument list

但不一定是数据有问题,而是json成字符串后,字符串中有特殊字符,所以导致parse的时候格式不对。所以解决方案如下

如果传递参数为对象的时候,需要转换成字符串,然后接收的时候,再转换成对象。

如果只是一个字符串的话,就不需要转换了

向子页面传递参数:

javascript 复制代码
uni.navigateTo({
    url: '/pages/index/index?myData=' + encodeURIComponent(JSON.stringify(row))
})

子页面接收数据:

javascript 复制代码
onLoad(option) {
    const myData = JSON.parse(decodeURIComponent(option.myData))
    console.log(myData)
}

encodeURIComponent() 函数可把字符串作为 URI 组件进行编码。

该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。

其他字符(比如 :;/?:@&=+$,# 这些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制的转义序列替换的。

所以

1、项目中如果我们传的参数出现#,/,&这些字符,这些特殊字符会导致我们接收参数的错误
2、必须要用 encodeURIComponent 编码,目标页面进行 decodeURIComponent 解码
相关推荐
扶苏100213 小时前
“解构”与“响应”的博弈——深入剖析 Vue 3 的 toRef 与 toRefs
前端·javascript·vue.js
icestone200013 小时前
使用Cursor开发大型项目的技巧
前端·人工智能·ai编程
Channing Lewis13 小时前
zoho crm的子表添加行时,有一个勾选字段,如何让它在details页面新建子表行(点击add row)时默认是勾选的
开发语言·前端·javascript
董员外14 小时前
LangChain.js 快速上手指南:模型接入、流式输出打造基础
前端·javascript·后端
AomanHao14 小时前
基于高德地图JS的旅游足迹,可嵌入个人博客中
前端
用户40993225021214 小时前
Vue3组件开发中如何兼顾复用性、可维护性与性能优化?
前端·vue.js·trae
千寻girling14 小时前
面试官 : “ 请问你实际开发中用过 函数柯理化 吗? 能讲一下吗 ?”
前端·javascript·面试
golang学习记14 小时前
Claude Opus 4.6 正式发布:Agent 时代的编程王者与长上下文革命
前端·人工智能·后端
双向3314 小时前
RAG实战解密:三步构建你的智能文档问答系统(附开源方案)
前端
DEMO派15 小时前
前端CSRF攻击代码演示及防御方案解析
前端·csrf