文档章节

jquery获取指定url的全部参数和重构url

文文1
 文文1
发布于 01/02 13:27
字数 294
阅读 8
收藏 0

js:

/**
 * 获取请求url中的所有参数的object对象
 * @returns
 */
function getAllUrlParms(url)    {
	 var theRequest = new Object();
     if (!url)
         url = location.href;
     if (url.indexOf("?") !== -1)
     {
         var str = url.substr(url.indexOf("?") + 1) + "&";
         var strs = str.split("&");
         for (var i = 0; i < strs.length - 1; i++)
         {
             var key = strs[i].substring(0, strs[i].indexOf("="));
             var val = strs[i].substring(strs[i].indexOf("=") + 1);
             theRequest[key] = val;
         }
     }
     return theRequest;
}

根据参数判断url是否相同,并重构新的url:

function checkUrlFun(oldUrl,paramObj,newUrl){
	var returnUrl = "";
	var updateFlag = false;
	if(!oldUrl || oldUrl == 'about:white'){
		//页面还没有加载过,利用newUrl拼接paramObj,并且返回
		updateFlag = true;
	}else{
		//页面已经加载过
		var obj = getAllUrlParms(oldUrl);
		if(paramObj && JSON.stringify(paramObj) != '{}'){
			for(var key in paramObj){
				//如果老的url里面和paramObj里面有参数不同,那么需要构建新的url
				if(!obj[key] || obj[key] != paramObj[key]){
					updateFlag = true;
					break;
				}
			}
		}
	}
	if(updateFlag){
		var index = newUrl.indexOf("?");
		if(index != -1){
			newUrl = newUrl.substring(0,index);
		}
		var appendUrl = $.param(paramObj);
		newUrl += "?"+appendUrl;
		returnUrl = newUrl;
	}
	return returnUrl ;
}

根据paramObj设置页面的全局变量的值:

/**
 * 修改页面默认变量的值
 * @returns
 */
function changeVariableValueFun(paramObj){
	if(paramObj && JSON.stringify(paramObj) != '{}'){
		for(var key in paramObj){
			var val = key.replace("object.","");
			window[val] = paramObj[key];
			$('#'+val).val(paramObj[key]);
		}
	}
}

 

© 著作权归作者所有

共有 人打赏支持
文文1
粉丝 23
博文 391
码字总数 124158
作品 0
长沙
程序员
私信 提问
jQuery 调用jsonp实现与原理

通过jQuery实现JSONP 一般的ajax是不能跨域请求的,因此需要使用一种特别的方式来实现跨域,其中的原理是利用 <script> 元素的这个开放策略,具体后面谈。 1.客户端代码 <!DOCTYPE html PUB...

chailink
2013/12/29
0
0
jQuery零基础入门——(八)AJAX

《jQuery零基础入门》系列博文是在廖雪峰老师的博文基础上,可能补充了个人的理解和日常遇到的点,用我的理解表述出来,主干出处来自廖雪峰老师的技术分享。 用JavaScript写AJAX前面已经介绍...

JandenMa
2018/08/06
0
0
JQuery AJAX 方法总结:

JQuery中主要AJax方法: 一、load: $(selector).load(url,[data],[callback]);从服务器中加载数据并将返回数据放入被选元素中。 参数含义: url : 为希望加载URL,可以将JQuery的选择器添加...

wait106427
2015/08/10
0
0
Java程序员从笨鸟到菜鸟之(八十九)跟我学jquery(五)jquery中的ajax详解

Ajax让用户页面丰富起来, 增强了用户体验. 使用Ajax是所有Web开发的必修课. 虽然Ajax技术并不复杂, 但是实现方式还是会因为每个开发人员的而有所差异.jQuery提供了一系列Ajax函数来帮助我们统...

长平狐
2012/11/12
293
0
六、jQuery与Ajax的应用

Ajax全称为"Asynchronous JavaScript and XML"(异步JavaScript和XML),它并不是指一种单一的技术,而是有机地利用了一系列交互式网页应用相关的技术所形成的结合体。它的出现,揭开了无刷新...

Winnie007
2015/11/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

带你看数据挖掘与机器学习-厦大EDP上课出勤预测

带你看数据挖掘与机器学习-厦大EDP上课出勤预测 标签: 数据挖掘 特征工程 机器学习 出勤预测 write by xmhexi 2019/3/22 内容提要 首先说明本文是一篇科普文章,通过一个实际案例,帮助理解什...

xmhexi
今天
41
0
IOS  学习记录

1.StackView=>IOS 9及以上支持 2.布局方式: AutoLayout / StackView 堆布局 (线性布局) 3.屏幕适配 (资源分辨率、设计分辨率、屏幕分辨率) Size Class技术 可以针对 屏幕的方向进行设置...

萨x姆
今天
4
0
第四次工业革命:自主经济的崛起

https://36kr.com/p/5170370.html

shengjuntu
昨天
3
0
Cloud Native 与12-Factor

12-Factor(twelve-factor),也称为“十二要素”,是一套流行的应用程序开发原则。Cloud Native架构中使用12-Factor作为设计准则。 12-Factor 的目标在于: 使用标准化流程自动配置,从而使...

waylau
昨天
10
0
java多线程2

“非线程安全”问题存在于“实例变量”中,如果是方法内部的私有变量,则不存在线程安全问题。这是因为方法内部的变量都是私有造成的。 synchronized 获取的都是对象锁。如果多个线程访问多个...

一滴水穿石
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部