我正在使用 "posName" 参数跟踪网址,例如:
example.com?posName=Content+&+Community+Manager+(H/F)
但是我的代码只返回"Content":
function () {
var uri = document.location.href;
var uri_dec = decodeURIComponent(uri);
var url = new URL(uri_dec);
var posName= url.searchParams.get("posName");
return posName;
}
如何获取完整的参数?
编辑: 我有另一个 URL,如:
exemple.com?posName=Club+&+Animator+(H/F)
并且代码返回了完整的参数...那么是参数的长度导致了这个问题吗?
最佳答案
我已修改您的函数以接受 URI 作为参数。您需要在将参数附加到查询字符串之前对其进行编码(我们在这里看不到这段代码)。您函数中的 decodeURIComponent 也不是必需的。
function getPosName (URI) {
//var uri_dec = decodeURIComponent(uri);
var url = new URL(URI);
var posName = url.searchParams.get("posName");
return posName;
}
console.log("Using your current URI:", getPosName("http://exemple.com?posName=Content+&+Community+Manager+(H/F)"))
const encodedParam = encodeURIComponent("Content & Community Manager (H/F)")
console.log("Encoded Parameter:", encodedParam)
const wellFormedURI = `http://exemple.com?posName=${encodedParam}`
console.log("Well Formed URI:", wellFormedURI)
console.log("Using well formed URI:", getPosName(wellFormedURI))
关于javascript - 为什么我要获取的URL参数显示不全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56247718/