js笔试-接收get请求参数

Posted 丶不知

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js笔试-接收get请求参数相关的知识,希望对你有一定的参考价值。

请编写一个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参数的值*/

  

 

以上是关于js笔试-接收get请求参数的主要内容,如果未能解决你的问题,请参考以下文章

Node.js 应用程序从 GET 请求到 API 接收到空响应

jQuery高级Ajax

get请求如何在url中加入数组参数

SpringBoot 接收Get请求个别参数可能为空的解决方案

post请求用data来接收参数(走的是请求体),get请求用params来接收参数(这个走的是路径)

前端HTTP发POST请求携带参数与后端接口接收参数