关于后台传过来的参数前端接受

本文介绍了一个市场集中化管理平台的界面布局及导航结构,包括资源审批、渠道指标和渠道维护等功能模块。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>

<%
String TOKEN=request.getParameter("TOKEN");
String token=request.getParameter("token");
String key=request.getParameter("key");
String userid=request.getParameter("userid");
String ts =request.getParameter("ts");
String bossid =request.getParameter("bossid");
String SXTOKEN =request.getParameter("SXTOKEN");
%>

 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%> 
 <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
 
 
<!DOCTYPE html>
<html>


<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport">
<meta content="yes" name="apple-mobile-web-app-capable">
<meta content="black" name="apple-mobile-web-app-status-bar-style">
<meta content="telephone=no" name="format-detection">
<meta content="email=no" name="format-detection">
<title>首页</title>
<link href="style/style.css" rel="stylesheet" type="text/css" />
<script>
//designWidth:设计稿的实际宽度值,需要根据实际设置
//maxWidth:制作稿的最大宽度值,需要根据实际设置
//这段js的最后面有两个参数记得要设置,一个为设计稿实际宽度,一个为制作稿最大宽度,例如设计稿为750,最大宽度为750,则为(750,750)
;
(function(designWidth, maxWidth) {
var doc = document,
win = window,
docEl = doc.documentElement,
remStyle = document.createElement("style"),
tid;


function refreshRem() {
var width = docEl.getBoundingClientRect().width;
maxWidth = maxWidth || 540;
width > maxWidth && (width = maxWidth);
var rem = width * 100 / designWidth;
remStyle.innerHTML = 'html{font-size:' + rem + 'px;}';
}


if(docEl.firstElementChild) {
docEl.firstElementChild.appendChild(remStyle);
} else {
var wrap = doc.createElement("div");
wrap.appendChild(remStyle);
doc.write(wrap.innerHTML);
wrap = null;
}
//要等 wiewport 设置好后才能执行 refreshRem,不然 refreshRem 会执行2次;
refreshRem();


win.addEventListener("resize", function() {
clearTimeout(tid); //防止执行两次
tid = setTimeout(refreshRem, 300);
}, false);


win.addEventListener("pageshow", function(e) {
if(e.persisted) { // 浏览器后退的时候重新计算
clearTimeout(tid);
tid = setTimeout(refreshRem, 300);
}
}, false);


if(doc.readyState === "complete") {
doc.body.style.fontSize = "16px";
} else {
doc.addEventListener("DOMContentLoaded", function(e) {
doc.body.style.fontSize = "16px";
}, false);
}
})(640, 1920);
</script>
</head>


<body>
<div class="top-box">
<div class="top">
<!--<img class="top-img1" src="images/top_l.png">-->市场集中化管理平台<!--<img class="top-img2" src="images/top_r.png"><i>1</i>--></div>
</div>
<div class="top-d">
<ul>
<li><a href="http://120.209.204.241:9002/osmp/clientAction.do?method=client&nextPage=/arcgis/source/list.jsp&TOKEN=<%=TOKEN%>"><img src="images/s1.png"></a><span>资源审批</span></li>
<li><a href="http://120.209.204.224:9002/ArcGIS/clientAction.do?method=client&nextPage=/arcgis/newchannelquota/channel_a.jsp&TOKEN=<%=TOKEN%>&key=<%=key%>&userid=<%=userid%>&bossid=<%=bossid%>&ts=<%=ts%> 
"><img src="images/s2.png"></a><span>渠道指标</span></li>
<li><a href="http://120.209.204.224:9001/qdzs/web/plugins/bui/ydzy/qdwhios.xp?doAction=getqd&token=<%=token%>"><img src="images/s3.png"></a><span>渠道维护</span></li>
</ul>

</div>
</body>


</html>
<think>嗯,用户问的是如何在微信小程序中接收通过navigateTo传递的数据。首先,我需要回忆一下微信小程序的页面导航和数据传递机制。记得微信小程序的页面跳转主要通过API如wx.navigateTo实现,参数可以通过URL的query字符串传递,然后在目标页面的onLoad生命周期函数中获取。 首先,用户可能已经知道如何传递参数,比如在跳转时在URL后面加上查询参数,例如url: 'pageB?key=value'。但问题是如何在目标页面接收这些参数。根据官方文档,目标页面可以通过onLoad函数的options参数获取这些数据。比如在pageB的onLoad中写options.key就能拿到value。 然后,可能需要注意数据类型的问题。如果传递的是对象或数组,需要先序列化成字符串,接收时再反序列化。比如使用JSON.stringify和JSON.parse来处理。用户提供的引用中提到了传递数组对象的方法,可能用户遇到了复杂数据结构的传递问题,需要特别说明这一点。 另外,用户提到的引用[1]和[2]中,有关于PHP和Java后台传参的内容,但当前问题主要在前端页面间传参,所以可能需要忽略后端部分,专注于页面间的数据传递。不过,引用中提到的示例可能帮助用户理解如何构造URL参数。 还要考虑是否需要给出代码示例,比如发送页面如何传递参数,接收页面如何获取。例如,发送页面使用wx.navigateTo,并在URL中添加参数,接收页面在onLoad中通过options获取。如果有数组或对象,需要序列化的步骤。 最后,可能需要提醒用户常见的错误,比如参数过长导致的问题,或者特殊字符未编码的情况。但用户的问题主要是接收方法,所以可能简要提及即可。总结步骤应该是:发送参数时构造URL,接收时在onLoad中获取,处理复杂数据使用JSON转换。</think>### 微信小程序通过navigateTo传递数据的接收方法 #### 1. 参数传递方式 通过`wx.navigateTo`跳转页面时,可在`url`参数后添加查询字符串传递数据。格式要求: ```javascript wx.navigateTo({ url: '/pages/pageB/pageB?name=小明&age=20&scores=[90,85,95]' }) ``` #### 2. 目标页面接收方法 在目标页面的`onLoad`生命周期函数中接收参数: ```javascript // pageB.js Page({ onLoad(options) { console.log('姓名:', options.name) // 输出"小明" console.log('年龄:', options.age) // 输出"20" // 数组类型需要JSON解析 const scores = JSON.parse(options.scores) console.log('成绩数组:', scores) // 输出[90,85,95] } }) ``` #### 3. 复杂对象传递规范 传递对象时需进行序列化与反序列化: ```javascript // 发送页面 const userInfo = { id: 1001, roles: ['admin', 'editor'] } wx.navigateTo({ url: `/pages/detail/detail?data=${encodeURIComponent(JSON.stringify(userInfo))}` }) // 接收页面 onLoad(options) { const userData = JSON.parse(decodeURIComponent(options.data)) console.log(userData.roles) // 输出['admin','editor'] } ``` #### 4. 官方文档要点说明 根据微信官方文档[^1]: - 单个参数值最大长度不超过1KB - 特殊字符需使用`encodeURIComponent`编码 - 页面栈最多支持10层跳转 #### 5. 常见问题解决 **数据类型错误**:非字符串类型需手动转换 ```javascript // 转换数值类型 const age = parseInt(options.age) ``` **特殊字符处理**: ```javascript // 发送含空格参数 wx.navigateTo({ url: `/pages/search/search?keyword=${encodeURIComponent('2024新款')}` }) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值