js获取url?后面的数据

qdsdjok 2018-09-15 12:36:01
http://www.xxx.com/ceshi/a.html?name1=shuju1&name2=shuju2
A页面为主页面
b页面为a的嵌套页面
b页面为post发送页面 静态页面
需求,b页面加js截取?后面的数据,获取访客访问ay页面name1和name2的数据变成隐藏域准备post发送

===================接收页面为asp的=============================================
name1=Trim(Request.Form("name1"))
name2=HTMLEncode(Trim(Request.Form("name2")))

====================
一句话描述:框架页面截取主页面访问URL 问号后面的name1和name2 并转化为隐藏域进行发送。
我收取name1和name2的数据
例如:访问http://www.xxx.com/ceshi/a.html?name1=xxxxxa&name2=00685
截取收集
xxxxxa
00685


<input name="name1" id=" " type="hidden" />
<input name="name2" id=" " type="hidden" />

我收取xxxxxa
00685
这俩数据
求请教详细代码
...全文
1309 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
https://github.com/shadowOfCode/bee.js 这里面就有两个方法 parseQueryString: function(url) urlToObj:function(url) var result=Bee.UrlUtils.urlToObj(url);
冰雪辉 2018-10-12
  • 打赏
  • 举报
回复

function getParameterByName(name)
{
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var regexS = "[\\?&]" + name + "=([^&#]*)";
var regex = new RegExp(regexS);
var results = regex.exec(window.location.search);
if(results == null)
return "";
else
return decodeURIComponent(results[1].replace(/\+/g, " "));
}

//截取url数据方法(采用正则表达式获取地址栏参数:( 强烈推荐,既实用又方便!))
var getParam = function (name) {
var search = document.location.search;
var pattern = new RegExp("[?&]" + name + "\=([^&]+)", "g");
var matcher = pattern.exec(search);
var items = null;
if (null != matcher) {
try {
items = decodeURIComponent(decodeURIComponent(matcher[1]));
} catch (e) {
try {
items = decodeURIComponent(matcher[1]);
} catch (e) {
items = matcher[1];
}
}
}
return items;
};

function getParameterByName(name) {
var match = RegExp('[?&]' + name + '=([^&]*)')
.exec(window.location.search);
return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
}

//split拆分法
function getUrlParams() {
var result = {};
var params = (window.location.search.split('?')[1] || '').split('&');
for(var param in params) {
if (params.hasOwnProperty(param)) {
paramParts = params[param].split('=');
result[paramParts[0]] = decodeURIComponent(paramParts[1] || "");
}
}
return result;
}

___紫菜 2018-10-11
  • 打赏
  • 举报
回复
引用 3 楼 flyfeifei66 的回复:
会正则表达式的人牛了,我都是一点点切割。

你可以百度复制粘贴啊
赵王爷 2018-10-11
  • 打赏
  • 举报
回复
会正则表达式的人牛了,我都是一点点切割。
風灬雲 2018-09-18
  • 打赏
  • 举报
回复

function getQuery(){
let res = {},query=window.location.href.split(/\?(?!.*\?)/)[1];
if(query){
let arr =query.split("&");
for(let i = 0, len = arr.length; i < len; i++){
res[arr[i].split("=")[0]] = arr[i].split("=")[1]
}
}
return res;
}
console.log(getQuery())

单页面也能获取,同时防止单页面hash之前存在?
田小瘦 2018-09-18
  • 打赏
  • 举报
回复
function GetQueryString(name){
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null)return decodeURI(decodeURI(r[2])); return null;
}
var name1={"name1":GetQueryString("name1")};

这样就能获取到了

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧