Javascript 从单个URL获取多个参数的最新密钥参数?
当用户在“a”页,并且在表单输入字段中写入了一些内容,然后从a页转到b页,再从b页回到a页,如果用户想从url获取数据,可以有两个相同的名称,例如这是urlJavascript 从单个URL获取多个参数的最新密钥参数?,javascript,html,reactjs,typescript,Javascript,Html,Reactjs,Typescript,当用户在“a”页,并且在表单输入字段中写入了一些内容,然后从a页转到b页,再从b页回到a页,如果用户想从url获取数据,可以有两个相同的名称,例如这是url?name=james&name=alex 我的问题是如何获取最新的“名称”,例如namename=alex是新名称。以下是我如何从url获取的信息: const query=window.location.toString().split(“?”[1]; const urlParams=新的URLSearchParams(查询); con
?name=james&name=alex
我的问题是如何获取最新的“名称”,例如namename=alex
是新名称。以下是我如何从url获取的信息:
const query=window.location.toString().split(“?”[1];
const urlParams=新的URLSearchParams(查询);
const Name=urlparms.get(“Name”)| | props.order?.Name代码>
这可能会对您有所帮助
函数getLatestParamFromUrl(param=”“){
constURL=新url(window.location.href);
const values=url.searchParams.getAll(param);
const latestValues=values.length>0?values.pop():false;
return!!latestValues&&latestValues;
}
log(getLatestParamFromUrl(“name”))代码>此答案采用自
您应该将名称编码为数组,并将其设置为name参数。添加新名称时,请使用Array.push(ITEM)
添加到末尾,并使用Array[Array.length-1]
获取最近添加的项
//数组的URL:
函数URLToArray(url,参数){
返回url.substring(url.indexOf(param+'=')+param.length+1).split('&')[0]。split(''u');
}
//指向URL的数组:
函数ArrayToURL(数组,参数){
返回param+'='+array.join('');
}
/*************************************/
//然后,您可以这样使用:
//获取数组
var myArray=URLToArray('https://google.com?name=Bob_Joe_Tom&state=Alaska_Texas_Main","姓名",;
log(myArray);
//获取URL
myArray.push('Steph')//让我们向数组中添加一个名称
var myNameUrl='www.google.com?'+ArrayToURL(myArray,'name');
日志(myNameUrl)
每个参数都应该有自己的名称,例如name=james&name1=alex
,但如果需要,可以使用相同的参数名称。看看这里:应该是的,但当我回来编辑同样的内容时,我将进入下一页,查看历史记录。推送/也尝试了历史记录。替换仍然获得两个或三个相同名称为什么不使用localStorage
?知道如何将最新的“名称”从url添加到localstoragegetting Unfinedc您可以共享代码吗?或者是一个片段?如果URL中没有参数,这里的函数将返回false,如果有,那么它将返回latestone,请立即检查。我已经更新了代码,这应该可以工作。让我们来看看。