0

您将如何通过 POST 方法提取 javascript 中的 URL 参数?

例如:localhost:8080/file.html/a/30/b/40

a 和 b 将是键,而 30 和 40 将是这些键的值

提前致谢!

4

2 回答 2

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);
于 2012-07-31T23:40:18.763 回答
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]andmatches[2]而忽略matches[0].

于 2012-08-01T00:35:16.147 回答