Javascript解析html GET请求时的参数

在构建J2EE web的时候,MVC的请求通常有两种方案:

  1. 浏览器请求直接发送到后端,后端的Servlet对请求进行解析,解析完后再将解析结果forward到某html template上,渲染显示;
  2. 浏览器先请求静态网页,静态网页通过javascript脚本向后端的Servlet发送ajax请求,将后端返回的结果回填到网页上显示。

本人一般习惯于采用第二种方案。第二种方案能更好的实现前后端的分离,部署时可以将静态网页和后端部署在不同的服务器上,实现负载的分流。
如果浏览器采用GET请求发送了诸如“http://xxxxxx?param1=xx&param2=xx”消息,那么采用第一种方案,可以直接在后端的HttpServletRequest中解析出或者通过Spring MVC自动得到各个参数,但是采用第二种方案,则需要自己写代码在前端的javascript中来解析参数了。
在网上直接搜到了以下代码,拿来使用即可:

function getparams(url) {
	if(url == undefined) {
		url = window.location.href;
	}
	var params = {};
	var parser = document.createElement('a');
	parser.href = url;
	var query = parser.search.substring(1);
	var vars = query.split('&');
	for (var i = 0; i < vars.length; i++) {
		var pair = vars[i].split('=');
		params[pair[0]] = decodeURIComponent(pair[1]);
	}
	return params;
};

据说可以适配各浏览器(不包括IE6以下)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值