2012-07-31 63 views

回答

1

您的意思是GET?

file.html?a=30&b=40

從這個網址,你可以得到的參數如下:

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); 



編輯:

您提供的網址沒有做據我所知,任何有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); 
+0

Aletheios,我的意思是POST。我試圖找到一種方法來從file.html/a/30/b/40 – 2012-07-31 23:45:02

+0

中獲取參數Ok - 請參閱上面的... – Aletheios 2012-07-31 23:50:55

+0

,該功能適用​​於該特定網址,但是對於該格式中的任意一個?我試圖讓代碼適用於任何類似格式的URL – 2012-08-01 00:07:13

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]