您将如何通过 POST 方法提取 javascript 中的 URL 参数?
例如:localhost:8080/file.html/a/30/b/40
a 和 b 将是键,而 30 和 40 将是这些键的值
提前致谢!
您将如何通过 POST 方法提取 javascript 中的 URL 参数?
例如:localhost:8080/file.html/a/30/b/40
a 和 b 将是键,而 30 和 40 将是这些键的值
提前致谢!
你的意思是 GET 吗?
file.html?a=30&b=40
从此 URL 中,您可以获取以下参数:
var param = {};
var s = window.location.search.substring(1).split('&');
for (var i = 0; i < s.length; ++i) {
var parts = s[i].split('=');
param[parts[0]] = parts[1];
}
console.log(param);
据我所知,您提供的 URL 不必与 POST 做任何事情,但如果您可以将其放入 JavaScript 变量中,您可以这样做:
var url = "file.html/a/30/b/40";
var param = {};
var parts = url.split("/");
for (var i = 1; i < parts.length; i += 2) {
param[parts[i]] = parts[i+1];
}
console.log(param);
使用这样的正则表达式怎么样?
var url = document.URL; // get the current URL
var matches = url.match(/.*\/a\/(\d+)\/b\/(\d+)/); // match it with a regex
var a = matches[1]; // the "a" number (as string)
var b = matches[2]; // the "b" number (as string)
请注意,该match
方法返回一个列表,其中第一个元素是整体匹配,其余项目是捕获的元素,即(\d+)
正则表达式模式的两个部分。这就是为什么这个片段使用matches[1]
andmatches[2]
而忽略matches[0]
.