我有一个请求url / string var like
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`
看起来非常可怕。我想知道如何从中提取以下参数对,然后从该对值file_url
中提取相对my_file.user.file
from_url=http://195.19.243.13:4773/my_file.user.file ?
答案 0 :(得分:1)
使用它来获取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("/"))
获取你的字符串
答案 1 :(得分:1)
当网址在变量sUrl
中时:
var sFromUrl = sUrl.match(/from_url=[^&]*/)[0];
var sBasename = sFromUrl.match(/[^\/]*$/)[0];
另见example。
答案 2 :(得分:1)
使用纯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<parts.length; i++){
var p = parts[i].split("=");
vars[unescape(p[0])]= p[1] ? unescape(p[1]):"";
}
// vars contain all the variables in an array.
return vars;
}
如果您的任何测试用例失败,请与我们联系。