
正文
js_参数的get传输,从一个页面到另外一个页面。
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
2017年10月31日,今天是万圣节,欢乐谷搞事情。
刚接触前端那会是分不清,前端和后台的,后台的数据如何传输到前端的。
现在用的还是Jquery的ajax请求后台数据到前端页面的,需要学习的地方还有很多,任重而道远也。
前后端分离,你是如何定义的呢?我现在公司现在用的php后台语言,现在逐步转型到Java,在此记录一点点变化,用作后面追忆
岁月的时候,可以作为回忆的印记。
技术:
<!DOCTYPE html>
<html> <head>
<meta charset="UTF-8">
<title></title>
</head> <body>
<p>如果你浏览器的URL是:http://127.0.0.1:8020/web-demo/demodemo/data02.html?id=88&topId=66&artId=6868&findId=999</p>
</body>
<script type="text/javascript">
//1.通过下面封装对方法,查询对应对参数
var id = getQueryString("id");
var topId = getQueryString("topId");
var artId = getQueryString("artId");
var findId = getQueryString("findId");
//2.封装的一个函数对URL后面的参数进行查询,可以直接复制在项目中使用
function getQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r != null) return unescape(r[2]);
return '';
};
//3.在控制台打印对应对参数
console.log(id); //
console.log(topId); //
console.log(artId); //
console.log(findId); //
</script> </html>
我们从一个页面到另外一个页面的时候,有时候需要带一个参数过去,加以区分,这个时候就需要用到URL后面把参数带过去。
http://127.0.0.1:8020/web-demo/demodemo/data02.html?id=88&topId=66&artId=6868&findId=999
例如上面这个链接,我们只需要在链接最后通过?xxx=&xxx=&xxx=这样的方式把参数通过URL传递到另外一个页面,注意?xxx=只能只能出现一次,后面的参数我们通过&xxx=传递;
其中xxx为你传递的参数。
参数带过去,我们可以通过下面的函数把它提取出来:
function getQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r != null) return unescape(r[2]);
return '';
};
上面这个方法只能提前数字和字母,不能提起中文。在后续传递中文的过程中,无法把参数给提取出来。经过研究,可以使用另外一种方法,既可以提取中文也可以提取英文。
getQueryStringZH: function() {
var url = window.location.search; //获取url中"?"符后的字串
var theRequest = new Object();
if(url.indexOf("?") != -1) {
var str = url.substr(1);
strs = str.split("&");
for(var i = 0; i < strs.length; i++) {
//就是这句的问题
theRequest[strs[i].split("=")[0]] = decodeURI(strs[i].split("=")[1]);
//之前用了unescape()
//才会出现乱码
}
}
return theRequest;
},注意你提起出来的是一个对象,需要通过提起对象的参数而获得参数。
var getRequest = common.getQueryStringZH();
var companyName = getRequest.companyName;
然后你就可以在文档中,随意使用了。







