如何从请求字符串中的参数值中提取相对URL?

我有一个请求url / string var之类的

http://ip_or_url:4773/image_renderer.service?action=resize&from_format=png&from_url=http://ip_or_url:4773/my_file.user.file&to_format=jpg&w=1920&h=1200` 

它看起来非常可怕。 我想知道如何从中提取以下参数对,然后从该对值my_file.user.file提取相对file_url

 from_url=http://195.19.243.13:4773/my_file.user.file ? 

用纯javascript。 它将返回一组键/值对。

 function getUrlParts(url){ // url contains your data. var qs = url.indexOf("?"); if(qs==-1) return []; var fr = url.indexOf("#"); var q=""; q = (fr==-1)? url.substr(qs+1) : url.substr(qs+1, fr-qs-1); var parts=q.split("&"); var vars={}; for(var i=0;i 

如果您的任何测试用例失败,请告诉我。

当url在变量sUrl

 var sFromUrl = sUrl.match(/from_url=[^&]*/)[0]; var sBasename = sFromUrl.match(/[^\/]*$/)[0]; 

另见本例 。

使用它来获取JS中的url变量

 function getUrlVars() { var vars = [], hash; var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); for(var i = 0; i < hashes.length; i++) { hash = hashes[i].split('='); vars.push(hash[0]); vars[hash[0]] = hash[1]; } return vars; } 

然后string.substring(string.search("/"))来获取你的字符串