如何在JavaScript中检索URL查询参数

时间:2015-07-21 11:48:08

标签: javascript

当我向地址栏中的URL添加查询参数时,如何从JavaScript或jQuery中检索它?例如,当我输入index.php?id=70&edid=33时,如何检索值33?

3 个答案:

答案 0 :(得分:0)

在现代浏览器中,您可以使用URL.searchParams [↗]对象。

// Create a new URL object
let address = new URL(window.location);

// Get searchParameters property of the URL object
let queryParameters = address.searchParams;

// Retrieve specific query parameters
let id = queryParameters.get("id"); // 70
let edid = queryParameters.get("edid"); // 33

URL.searchParams [↗]的浏览器支持如下:

  • Edge 17 +
  • Chrome 49 +
  • Safari 10.1 +
  • Firefox 44 +

答案 1 :(得分:0)

这是我给你的答案。我认为这是解决此问题的最佳方法。 如果路径名包含您应有的参数,则可以将“ index.php?id = 70&edid = 33”替换为“ window.location.pathname”。

var url="index.php?id=70&edid=33";
var qString=url.split("?")[1];
//console.log(qString);

var param_val=qString.split("&");

var params=[];
for(var i=0; i < param_val.length; i++){
  params.push(param_val[i].split("="));
}

var edit_id;
for(var j=0; j < params.length; j++){
    if(params[j][0]==="edid"){
      edit_id=params[j][1];
      break;
     }
}

console.log(edit_id);

答案 2 :(得分:-1)

您可以通过javascript从地址栏获取完整的网址,然后按照以下方式操作

var address=document.location; var edid=address. substring(address.indexOf('edid')+5, address.indexOf(edid)+7);

对于这个问题,这不是一个完美的解决方案,但它可以让你了解如何使用这些东西。