/**
* @author web得胜
* @param {Object} obj 需要拼接的参数对象
* @return {String}
* */
function obj2qs(obj) {
if(!obj && !Object.keys(obj).length) {
return "";
} else {
var arr = [];
for(var key in obj) {
arr.push(key + "=" + obj[key]);
}
return arr.join("&");
}
} /**
* @author web得胜
* @param {String} url url地址栏
* @return {Object}
*/
function qs2obj(url) {
var qs = url.split("?")[1];
var arr = [];
var res = {};
if(!qs) {
// return res;
} else {
arr = qs.split("&");
for(var i = 0, len = arr.length; i < len; i++) {
var key = arr[i].split("=")[0];
var val = arr[i].split("=")[1];
res[key] = decodeURIComponent(val);
}
}
return res;
}

obj2qs是将参数(对象类型的参数)转成地址栏的参数,在ajax和跳转页面的时候可以用上。

qs2obj是取地址栏参数的,当你需要使用地址栏参数的时候可以调用这个函数。返回值是一个对象。

/** * @author web得胜 * @param {Object} obj 需要拼接的参数对象 * @return {String} * */function obj2qs(obj) {if(!obj && !Object.keys(obj).length) {return "";} else {var arr = [];for(var key in obj) {arr.push(key + "=" + obj[key]);}return arr.join("&");}}
/** * @author web得胜 * @param {String} url url地址栏 * @return {Object} */function qs2obj(url) {var qs = url.split("?")[1];var arr = [];var res = {};if(!qs) {// return res;} else {arr = qs.split("&");for(var i = 0, len = arr.length; i < len; i++) {var key = arr[i].split("=")[0];var val = arr[i].split("=")[1];res[key] = decodeURIComponent(val);}}return res;}

url地址栏参数<==>对象(将对象转换成地址栏的参数以及将地址栏的参数转换为对象)的实用函数的更多相关文章

  1. JavaScript 系列--JavaScript一些奇淫技巧的实现方法(二)数字格式化 1234567890转1,234,567,890;argruments 对象(类数组)转换成数组

    一.前言 之前写了一篇文章:JavaScript 系列--JavaScript一些奇淫技巧的实现方法(一)简短的sleep函数,获取时间戳 https://www.mwcxs.top/page/746 ...

  2. dom变成jquery对象 先获取dom对象 然后通过$()转换成jquery对象

    dom变成jquery对象   先获取dom对象 然后通过$()转换成jquery对象

  3. js 中 json.stringfy()将对象、数组转换成字符串

    json.stringfy()将对象.数组转换成字符串 var student = new Object(); student.name = "Lanny"; student.ag ...

  4. 提取url中参数的方法(转换成json格式)

    还是直接上代码吧. //将url中的参数获取到并抓换成json格式 function serilizeUrl(url){ var urlObject={}; //1.正则匹配是不是以?结尾 if(/\ ...

  5. Js把对象数组列表转换成数组

    今天写组件的时候遇到一个问题,就是当我需要对获取到的对象列表进行删减的时候,发现没有合适的方法,比如: //获取图片列表 var imgs = document.getElementsByTagNam ...

  6. SpringMVC中使用@ResponseBody注解将任意POJO对象返回值转换成json进行返回

    @ResponseBody 作用: 该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区. ...

  7. java 字符串转json,json转实体对象、json字符串转换成List、List转String、以及List排序等等...

    @RequestMapping(value = "updateInvestorApplyAccountNo", method = RequestMethod.POST) @Resp ...

  8. 将Xml字符串转换成(DataTable || DataSet || XML)对象

    今天用到一个功能:就是把从数据库读出来的内容转换成XML字符串流格式,并输出给一个功能函数.在写的过程,为方便以后的使用,我对这一功能进行分装.该类的具体格式如下:XmlConvert类命名空间:Ni ...

  9. json中把非json格式的字符串转换成json对象再转换成json字符串

    JSON.toJson(str).toString()假如key和value都是整数的时候,先转换成jsonObject对象,再转换成json字符串

  10. C++中将对象this转换成unsigned char指针

    示例程序 // ---CodeBlob.h--- #ifndef CODEBLOB_H_ #define CODEBLOB_H_ class CodeBlob { private: const cha ...

随机推荐

  1. nginx 限制ip的请求频率

    需要注意,这个很容易误伤 还需要结合别的办法进行共同配置 总是有人很清闲的扫我的网站 ,所以要限制一下了 先来看看没有限制的时候,并发10 100次 服务器一直在正常响应  限制一下,之后再测试一下 ...

  2. [待验证]使用hibernate注解忘记引入mapping导致的问题

    这个问题好像是注解主键的时候,主键没有设置为int型,我设置了个string(想直接用uuid)导致的 后来学习了一下,这个主键的注解,生成策略有很多种,换成别的,就可以使用string类型 编译报错 ...

  3. Java 类与类之间的调用

    方法1. 新建一个类. 然后在调用类中先进行被调用类实例化,然后通过实例化的对象访问. 例如: //先定义一个类 import static java.lang.System.out; public ...

  4. 中介者模式(Mediator、ConcreteMediator、Colleague Class)(租房中介)

    中介者模式就是利用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地互相引用,从而使其耦合松散,而且可以独立地改变他们之间的交互. 就像租房的中介系统,房主跟租房者不需要知道彼此只需要,只 ...

  5. AndroidStudio离线打包MUI

    1.下载5+SKD http://ask.dcloud.net.cn/article/103 2.解压到任意目录 3.导入HBuilder-Hello项目 4.在AndroidManifest.xml ...

  6. httpserver支持路由传输控制器

    main.go package main import ( "net/http" "com.jtthink.net/myhttpserver/core" ) t ...

  7. Python re.sub函数

  8. URL编程

    package com.tanlei.URL; import java.io.File; import java.io.FileOutputStream; import java.io.IOExcep ...

  9. WinForm 实现主程序(exe)与其关联类库(*.dll)分开存放

    WinForm 实现主程序(exe)与其关联类库(*.dll)分开存放    开发环境:   Microsoft Windows 7 SP1 Microsoft.NET Framework 4.0 ( ...

  10. php Laravel Thrift使用TMultiplexedProcessor复用端口模式

    thrift的使用中一般是一个Server对应一个Processor和一个Transport,如果有多个服务的话,那必须要启动多个Server,占用多个端口,这种方式显然不是我们想要的,所以thrif ...