通过POST方法和javascript获取URL参数

时间:2012-07-31 23:20:18

标签: javascript url post parameters

如何通过POST方法在javascript中提取URL参数?

例如: 本地主机:8080 / file.html / A / 30 / B / 40

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

提前致谢!

2 个答案:

答案 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]的原因。