javascritp添加url参数将参数加入到url中

将对象参数加入到url中,如果原来url中有则覆盖
js代码

function addToUrl(obj){
var aprotocol = location.protocol;
var ahost = location.host;
var apath = location.pathname;
var asearch = location.search;
var ahash = location.hash;
var result = '';
console.log(obj);
var joinObj = function(joinObj_obj){
var result = '';
for(var i in joinObj_obj){
result += i + '=' + joinObj_obj[i];
}
return result;
};
var splitSearchToObj = function(str){
var resObj = {};
var arr = str.split('&');
for(var i = 0; i < arr.length; i++){
resObj[arr[0]] = arr[1];
}
return resObj;
};
var existObjKey = function(existObjKey_obj, str){
for(var i in existObjKey_obj){
if(i == str){
return true;
}
}
return false;
};
var objExtend = function(obj1, obj2){
var result = {};
for(var i in obj1){
if(existObjKey(obj2, i)){
result[i] = obj2[i];
}else{
result[i] = obj1[i];
}
}
};
if(asearch == ''){
console.log(obj);
result = aprotocol + '//' + ahost + apath + '?' + joinObj(obj) + ahash;
}else{
var oldSearchObj = splitSearchToObj(asearch.substr(1));
result = aprotocol + '//' + ahost + apath + joinObj(objExtend(oldSearchObj, obj)) + ahash; 

}
return result;
}
addToUrl({'kd': 'aaa'}); 
(0)

相关推荐

  • java向多线程中传递参数的三种方法详细介绍

    在传统的同步开发模式下,当我们调用一个函数时,通过这个函数的参数将数据传入,并通过这个函数的返回值来返回最终的计算结果.但在多线程的异步开发模式下,数据的传递和返回和同步开发模式有很大的区别.由于线程的运行和结束是不可预料的,因此,在传递和返回数据时就无法象函数一样通过函数参数和return语句来返回数据.本文就以上原因介绍了几种用于向线程传递数据的方法,在下一篇文章中将介绍从线程中返回数据的方法. 欲先取之,必先予之.一般在使用线程时都需要有一些初始化数据,然后线程利用这些数据进行加工处理,并

  • Java方法的可变参数类型实例分析

    Java方法中的可变参数类型是一个非常重要的概念,有着非常广泛的应用.本文就以实例形式对此加以分析.具体如下: 一般来说,许多Java初学者在看到下面的这段代码的时候,都会问一个问题:dealArray方法里那三个小点点是什么啊? public class TestVarArgus { public static void dealArray(int... intArray){ } public static void main(String args[]){ } } 这就是本文所要讨论的问题:

  • Java方法参数是引用调用还是值调用?

    方法调用(call by) 是一个标准的计算机科学术语.方法调用根据参数传递的情况又分为值调用( call by reference ) 和引用调用( call by value ) .江湖上有很多关于这两种调用的定义 ,最通常的说法是传递值的是值调用,传递地址的是引用调用.这其实很不恰当,这种 这些说法很容易让我们联想到Java的对象参数传递是引用调用,实际上,Java的对象参数传递仍然是值调用 . 我们首先用一段代码来证实一下为什么Java的对象参数传递是值调用. public class

  • Java获取代码中方法参数名信息的方法

    前言 大家都知道随着java8的使用,在相应的方法签名中增加了新的对象Parameter,用于表示特定的参数信息,通过它的getName可以获取相应的参数名.即像在代码中编写的,如命名为username,那么在前台进行传参时,即不需要再编写如@Parameter("username")类的注解,而直接就能进行按名映射. 如下的代码参考所示: public class T { private interface T2 { void method(String username, Stri

  • java根据方法名称取得反射方法的参数类型示例

    复制代码 代码如下: /** * 根据方法名称取得反射方法的参数类型(没有考虑同名重载方法使用时注意) * @param obj         类实例   * @param methodName  方法名 * @return * @throws ClassNotFoundException */public static Class[]  getMethodParamTypes(Object classInstance,  String methodName) throws ClassNotF

  • Java 8中如何获取参数名称的方法示例

    前言 在Java 8之前的版本,代码编译为class文件后,方法参数的类型是固定的,但参数名称却丢失了,这和动态语言严重依赖参数名称形成了鲜明对比.现在,Java 8开始在class文件中保留参数名,给反射带来了极大的便利. 示例: public class GetRuntimeParameterName { public void createUser(String name, int age, int version) { // } public static void main(Strin

  • Java如何实现URL带请求参数(get/post)及得到get和post请求url和参数列表的方法

    具体代码如下所示: public static String sendGet(String url,String param) { String result = ""; try{ String urlName = url + "?"+param;// URL U = new URL(urlName); URLConnection connection = U.openConnection(); connection.connect(); BufferedReade

  • java eclipse 启动参数

    在参考了一些资料之后,我总结了一些比较常用的启动时Command Arguments,如果有不正确的地方希望大家予以指出. -arch [processor architecture] 描述:指定所使用的处理器的类别 举例:eclipse -arch x86或eclipse -arch sparc -application [id] 描述:指定要运行的应用,id为扩展org.eclipse.core.applications扩展点的插件id加扩展id 举例:例如有个插件id为edu.sdu.ap

  • java解析出url请求的路径和参数键值对类(解析出url请求的路径,包括页面)

    复制代码 代码如下: package RequestPackage; import java.util.HashMap; import java.util.Map; public class CRequest { /** * 解析出url请求的路径,包括页面 * @param strURL url地址 * @return url路径 */ public static String UrlPage(String strURL) { String strPage=null; String[] arr

  • JavaScritp添加url参数并将参数加入到url中及更改url参数的方法

    javascritp添加url参数方法,将参数加入到url中,如果原来url中有则覆盖,下面通过代码实例给大家讲解,具体内容请看下文. js代码如下所示: function addToUrl(obj){ var aprotocol = location.protocol; var ahost = location.host; var apath = location.pathname; var asearch = location.search; var ahash = location.has

  • DataTables添加额外的查询参数和删除columns等无用参数实例

    废话不多说,直接上代码 //1.定义全局变量 var iStart = 0, searchParams={}; //2.配置datatable的ajax配置项 "ajax": { "url": "/user/query", "type": "POST", //动态请求参数设置,会应用到每次请求 "data": function (d) { //删除多余请求参数 for(var key i

  • 如何通过zuul添加或修改请求参数

    zuul添加或修改请求参数 一.为什么要用到这个 在基于 springcloud 构建的微服务系统中,通常使用网关zuul来进行一些用户验证等过滤的操作,比如 用户在 header 或者 url 参数中存放了 token ,网关层需要 用该 token 查出用户 的 userId ,并存放于 request 中,以便后续微服务可以直接使用而避免再去用 token 查询. 二.基础知识 在 zuul 中最大的用法的除了路由之外,就是过滤器了,自定义过滤器需实现接口 ZuulFilter ,在 ru

  • javascript获取url上某个参数的方法

    复制代码 代码如下: function GetUrlMenuCode() { var url = window.location.href; var parameter = url.substring(url.indexOf('?') + 1); parameter = parameter.split('&'); var reg = /MenuCode=/g; var menuCode = ""; for (var i = 0; i < parameter.length;

  • 关于url地址传参数时字符串有回车造成页面脚本赋值失败的解决方法

    在通过url地址接受参数的时候,有些参数的值V带有回车' %0A ',这时候在页面脚本显示的时候,把这个值V付给脚本变量,可能会造成脚本的错误. 所以,相应的:一开始在传值的时候对一些字符串进行url编码,在脚本赋值的时候再进行url解码,这样就可以避免上面的问题. 在PHP中,对URL编码的操作函数是:urlencode()  和 urldecode() 对应在js中的URL编码操作函数是:encodeURI() 和 decodeURI()

  • php获取当前网址url并替换参数或网址的方法

    一是PHP获取当前页面的网址: 复制代码 代码如下: //获得当前的脚本网址 function GetCurUrl() { if(!empty($_SERVER["REQUEST_URI"])) { $scriptName = $_SERVER["REQUEST_URI"]; $nowurl = $scriptName; } else { $scriptName = $_SERVER["PHP_SELF"]; if(empty($_SERVER[

  • java swagger ui 添加header请求头参数的方法

    我用到的swagger 主要有三款产品,swagger editor,swagger ui 和swagger codegen. swagger editor:主要是一个本地客户端,用来自己添加api,自己来测试,相当于一个api的可视化测试工具和定义工具吧. swagger ui:主要用户嵌入到项目中,将所有的接口生成一个可视化的页面,方便前后端联调 swagger codegen:主要用于通过swagger来自动生成代码 我用的swagger ui主要在java项目中.将所有的http接口提供

  • vue+axios全局添加请求头和参数操作

    走登录的接口都会返回一个token值,然后存起来方便之后调接口的时候给后台传过去,传给后台的方式有两种:(具体使用哪种需要和后台商量) 1.放在请求头中 2.放在接口的参数中 1.放在请求头中 下面代码是从本地cookie中拿token VueCookie:一个用于处理浏览器cookies的简单Vue.js插件. // 在封装axios的文件中添加拦截器 // 添加请求拦截器,在请求头中加token service.interceptors.request.use( config => { //

  • Nginx 根据URL带的参数转发的实现

    使用场景: 需要根据截取URL动态配置跳转路径,常见于访问内网不固定ip地址的文件图片, 请求地址:http://11.19.1.212:82/bimg4/32.52.62.42:222/DownLoadFile?filename=LOC:12/data/20180208/15/2e0ae54dfd752210083404deed15269c_222403 实际需要访问的内网地址:http://32.52.62.42:222/DownLoadFile?filename=LOC:12/data/2

随机推荐