如何通过POST方法在javascript中提取URL参数?
例如: 本地主机:8080 / file.html / A / 30 / B / 40
a和b将是键 30和40将是这些键的值
提前致谢!
答案 0 :(得分:1)
你的意思是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);
答案 1 :(得分:0)
如何使用这样的正则表达式?
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]
和matches[2]
而忽略matches[0]
的原因。