zoukankan      html  css  js  c++  java
  • js获取url上的指定参数

    
    function getAllUrlParams(url) {
    
    	// get query string from url (optional) or window
    	var queryString = url ? url.split('?')[1] : window.location.search.slice(1);
    
    	// we'll store the parameters here
    	var obj = {};
    
    	// if query string exists
    	if (queryString) {
    
    		// stuff after # is not part of query string, so get rid of it
    		queryString = queryString.split('#')[0];
    
    		// split our query string into its component parts
    		var arr = queryString.split('&');
    		for (var i = 0; i < arr.length; i++) {
    			// separate the keys and the values
    			var a = arr[i].split('=');
    			// in case params look like: list[]=thing1&list[]=thing2
    			var paramNum = undefined;
    			var paramName = a[0].replace(/[d*]/, function (v) {
    				paramNum = v.slice(1, -1);
    				return '';
    			});
    			// set parameter value (use 'true' if empty)
    			var paramValue = typeof (a[1]) === 'undefined' ? true : a[1];
    			// if parameter name already exists
    			if (obj[paramName]) {
    				// convert value to array (if still string)
    				if (typeof obj[paramName] === 'string') {
    					obj[paramName] = [obj[paramName]];
    				}
    				// if no array index number specified...
    				if (typeof paramNum === 'undefined') {
    					// put the value on the end of the array
    					obj[paramName].push(paramValue);
    				}
    				// if array index number specified...
    				else {
    					// put the value at that index number
    					obj[paramName][paramNum] = paramValue;
    				}
    			}
    			// if param name doesn't exist yet, set it
    			else {
    				obj[paramName] = paramValue;
    			}
    		}
    	}
    	return obj;
    };
    var x = getAllUrlParams('http://127.0.0.1:5000/app/index.html?code=KXMvRUkC92WaJ6n3vELMU3iK2128879&state=').code;
    console.log(x);
    
    
  • 相关阅读:
    UVa12093
    UVa1631
    vue路由跳转的三种方式
    vue中的钩子函数(判断是否跳转页面)beforeEach
    vue中子组件向父组件传值方法?
    vue中对数组,对象的操作如下
    vue-router的beforeEach的使用?
    vue拦截器使用?
    vue中父子组件以及兄弟组件的传值情况?
    前端模块化?
  • 原文地址:https://www.cnblogs.com/datiangou/p/10206259.html
Copyright © 2011-2022 走看看