Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Javascript读取get请求?_Javascript_Html_Arguments_Hyperlink - Fatal编程技术网

如何使用Javascript读取get请求?

如何使用Javascript读取get请求?,javascript,html,arguments,hyperlink,Javascript,Html,Arguments,Hyperlink,因此,我有一个名为A.html的html页面,它是这样从B.html调用的:A.html?varString=“bla-bla”向JS发送参数是否正确?如何从JS解析参数 (不使用任何框架,如Jquery,在IE6、FireFox 3中工作)使用: 您可能希望将不同的变量与查询字符串分开,以便按名称访问它们: var request = {}; var pairs = location.search.substring(1).split('&'); for (var i = 0; i &

因此,我有一个名为
A.html
的html页面,它是这样从
B.html
调用的:
A.html?varString=“bla-bla”
向JS发送参数是否正确?如何从JS解析参数

(不使用任何框架,如Jquery,在IE6、FireFox 3中工作)

使用:

您可能希望将不同的变量与查询字符串分开,以便按名称访问它们:

var request = {};
var pairs = location.search.substring(1).split('&');
for (var i = 0; i < pairs.length; i++) {
  var pair = pairs[i].split('=');
  request[pair[0]] = pair[1];
}
var请求={};
var pairs=location.search.substring(1).split('&');
对于(变量i=0;i

然后您可以像
request['varString']
一样访问它,这将为您提供
“bla bla bla”

以下是一个解析查询字符串的函数。将参数名传递给它,它将返回值

function getQueryVariable(variable)
{ 
  var query = window.location.search.substring(1); 
  var vars = query.split("&"); 
  for (var i=0;i<vars.length;i++)
  { 
    var pair = vars[i].split("="); 
    if (pair[0] == variable)
    { 
      return pair[1]; 
    } 
  }
  return -1; //not found 
}
函数getQueryVariable(变量) { var query=window.location.search.substring(1); var vars=query.split(&);
对于(var i=0;i来说,您通常希望在服务器端处理传递到页面的参数,但是如果您知道为什么要在客户端执行此操作,我发现了一个小脚本:

function gup( name )
{
   name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
   var regexS = "[\\?&]"+name+"=([^&#]*)";
   var regex = new RegExp( regexS );
   var results = regex.exec( window.location.href );
   if( results == null )
      return "";
   else
      return results[1];
}
我没有测试它,但我很确定它会适合这份工作


只需像这样使用它:
gup('parameter')
,它将为您返回参数值。

要通过JS解析查询字符串,您可以使用

function getQueryValue(param) {
        var queryStringArray = querystring && querystring.substring(1).split("&");
        for (var i=0, length = queryStringArray.length; i < length; i++) {
             var token = queryStringArray[i],
                 firstPart = token && token.substring(0, token.indexOf("="));
             if (firstPart === param ) {
                 return token.substring(token.indexOf("=") + 1, token.length);
            }
        }
 }
函数getQueryValue(param){
var queryStringArray=querystring&&querystring.substring(1.split(&));
for(var i=0,length=queryStringArray.length;i
例如,给定一个URL“http://domain.com.au?aaa=bbb ,您可以将此fn称为getQeuryValue(“aaa”),您将得到“bbb”


我上传了这段代码(修改为符合模块模式)。

由于新的
URLSearchParams
界面,它变得更容易:

var url = new URL("https://example.org/?foo=bar&foo2=bar2");
var params = url.searchParams;

// Access to a variable
console.log(params.get("foo"));

// Loop over params
for (var key of params.keys()) {
    console.log(params.get(key));
}
您应该检查浏览器兼容性,因为这是一个新的API。

可能与
var url = new URL("https://example.org/?foo=bar&foo2=bar2");
var params = url.searchParams;

// Access to a variable
console.log(params.get("foo"));

// Loop over params
for (var key of params.keys()) {
    console.log(params.get(key));
}