欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

js笔试题-接收get请求参数

程序员文章站 2023-10-30 13:34:04
题目 请编写一个javascript函数,它的用途是接收url中get请求的参数,并返回为对象, 如: var url = “https://i.cnblogs.com...

题目

请编写一个javascript函数,它的用途是接收url中get请求的参数,并返回为对象,

如: var url = “https://i.cnblogs.com/editposts.aspx?opt=1″。

本题考察了js如何获得url为字符串,以及字符串处理的方法。

1.首先想到正则

function getquerystring(name) {
var reg = new regexp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]); return null;
}

2.数组方法

*-----------------实现1--------------------*/
function getrequest() {
var url = location.search; //获取url中"?"符后的字串
var therequest = new object();
if (url.indexof("?") != -1) {
var str = url.substr(1);
strs = str.split("&");
for(var i = 0; i < strs.length; i ++) {
therequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);
}
}
return therequest;
}
/*--------------------实现2(返回 $_get 对象, 仿php模式)----------------------*/
var $_get = (function(){
var url = window.document.location.href.tostring();
var u = url.split("?");
if(typeof(u[1]) == "string"){
u = u[1].split("&");
var get = {};
for(var i in u){
var j = u[i].split("=");
get[j[0]] = j[1];
}
return get;
} else {
return {};
}
})();
/*第2种方式, 使用时, 可以直接 $_get['get参数'], 就直接获得get参数的值*/

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。