如何获取HTTP get请求传递的客户端参数

How to get parameters on client side passsed by HTTP GET request?

本文关键字:请求 参数 客户端 get HTTP 何获取 获取      更新时间:2023-09-26

我需要从一些社交服务API获取剃刀视图页面的回调。回调请求通过HTTP GET方法实现:

http://www.contactsimporter.com/home.cshtml

实现回调后,我需要从HTTPGET请求中检索参数(param1=value1&param2=value2)。例如:

http://www.contactsimporter.com/home.cshtml?param1=value1&param2=value2

我需要检索这个参数param1=value1&param2=回调URL中的value2。

如何使用JavaScript或jQuery代码获取这些参数?

您可以通过纯javascript实现。请参阅以下代码:

var urlParams = window.location.search
var getQuery = urlParams.split('?')[1]
var params = getQuery.split('&') 

改编自CSS技巧

  • 访问url:window.location.pathname

现在,您可以将url视为Javascript中的普通字符串,并对其进行相应的解析。

var url = window.location.pathname
var getQuery = url.split('?')[1]
var params = getQuery.split('&') 
// params is ['param1=value', 'param2=value2'] 

您也可以使用URLSearchParams

const urlParams = new URLSearchParams(window.location.search);
const entries = urlParams.entries();
// build params object
const params = {};
for (entry of entries) {
  params[entry[0]] = entry[1];
}
console.log(params);

避免使用window.location.pathname它只返回路径您还需要查询字符串参数,因此使用href代替路径名,如下所示

var url = window.location.href
var getQuery = url.split('?')[1]
var params = getQuery.split('&') 
// params is ['param1=value', 'param2=value2']