当前位置: 首页 > news >正文

微信小程序传参过来了,但是数据没有获取到

使用本方法前,已经采用encodeURIComponent把拼接的参数编码之后,拼接在链接上,在接受的页面的onLoad生命周期,接收到参数之后,采用decodeURIComponent进行解码的操作,如果这个也不行,不是说不行,而是第一次跳转没有解析出来数据,也就是页面没有数据。需要第二次跳转才有数据。那么就是在微信小程序中,URL参数传递有以下限制:

  1. 长度限制:URL过长会被截断
  1. 编码问题:特殊字符可能导致解析失败
  1. 生命周期问题:页面加载时序可能影响数据获取

解决方案就是只传递关键的参数。或者跳转过去再做查询功能

传递的参数设置

	clickPatient(item) {if (this.patientInfo) {// 简化方案:只传递最关键的几个参数const params = {patientId: item.patientId || '',brName: item.brName || '',brSfzh: item.brSfzh || '',groupStatus: item.groupStatus || '0',companyCode: item.companyCode || '',rid: item.rid || ''};// 同时使用存储作为备份uni.setStorageSync('current_patient_backup', item);// 构建URL参数const urlParams = Object.keys(params).filter(key => params[key]) // 过滤掉空值.map(key => `${key}=${encodeURIComponent(params[key])}`).join('&');console.log('URL参数字符串:', urlParams);uni.navigateTo({url: `./patientDetail?${urlParams}`,});}},

接受参数设置

onLoad(options) {this.mrPatientInfo = this.$patientInfo.getCurrentPatient()let patientData = null;// 简化方案:直接从URL参数构建数据if (options.patientId) {patientData = {patientId: decodeURIComponent(options.patientId),brName: options.brName ? decodeURIComponent(options.brName) : '',brSfzh: options.brSfzh ? decodeURIComponent(options.brSfzh) : '',groupStatus: options.groupStatus || '0',companyCode: options.companyCode ? decodeURIComponent(options.companyCode) : '',rid: options.rid || ''};}// 备用方案:从存储获取if (!patientData || !patientData.patientId) {try {const backupData = uni.getStorageSync('current_patient_backup');if (backupData && backupData.patientId) {patientData = backupData;// 清理备份数据uni.removeStorageSync('current_patient_backup');}} catch (error) {}}

http://www.lqws.cn/news/442333.html

相关文章:

  • 编码规则设计唯一编码
  • 基于Spring Boot+Vue的“暖寓”宿舍管理系统设计与实现(源码及文档)
  • YunParking路内停车源码追缴分成机制设计与技术实现​
  • docker使用技巧之把扩展卷命名变成有意义
  • AWS Security Hub邮件告警设置
  • 计算机网络:(四)物理层的基本概念,数据通信的基础知识,物理层下面的传输媒体
  • 系统思考:结构影响行为
  • 基于 LLM 的网络钓鱼网站检测多代理框架
  • WEB安全--WAF的绕过思路
  • Singularity 安装
  • 浏览器标题闪烁功能
  • python形成性考核管理系统
  • 2023年蓝桥杯青少第十四届蓝桥杯Scratch省赛中级组真题——小狗避障
  • webpack和vite对比解析(AI)
  • OpenCV 图像直方图
  • 中泰制造企业组网新方案:中-泰企业国际组网专线破解泰国工厂访问国内 OA/ERP 卡顿难题
  • 【世纪龙科技】智能网联汽车自动驾驶虚拟实训软件
  • 【鸿蒙HarmonyOS Next App实战开发】​​​​ArkUI纯色图生成器
  • Linux中Ansible常用模块
  • 【油藏地球物理正演软件ColchisFM】为什么经常用90度相移处理代替反演使用
  • PostgreSQL的扩展dict_int
  • 【AI作画】第2章comfy ui的一般输入节点,文本框的类型和输入形式
  • Postman 的 Jenkins 管理 - 自动构建
  • 通俗解释:编码器与解码器
  • 系统性能优化-3 内存池
  • uni-app项目实战笔记15--使用uni-popup实现弹出层和uni-rate实现评分效果
  • 【python】多次重试调用ai大模型
  • FPGA基础 -- Verilog 命名事件
  • Cursor Pro取消500次请求限制,无限用的体验更好了吗?
  • 【vim】通过vim编辑器打开、修改、退出配置文件