我试图生成一个包含多个 JavaScript 变量的动态 url,但我只想在它们包含信息时包含它们。
这些变量本质上是过滤器,用于从 MYSQL 数据库中进行选择,因此它们采用“column=value”的形式。
我尝试生成的网址需要采用以下格式
page.php?column1=value1&column2=value2....
等
我正在努力弄清楚如何仅包含包含信息的变量,然后如何在每个变量之间插入所需的“&”。
当前代码如下,当前仅包含两个变量,但目标是多达 5 个。
var jsedibility = "";
function chosenEdibility(choice){
jsedibility = choice;
}
var jsfrequency = "";
function chosenFrequency(choice2){
jsfrequency = choice2;
}
function setFilters(){
window.location='search.php?' + jsedibility+"&"+jsfrequency;
}
然后我使用分配给按钮的“onClick=setFilters()”
来加载相关页面。
我如何设置才能动态生成 URL,仅包含其中包含数据的变量,并在每个变量之间添加所需的“&”。
非常感谢任何帮助:)
最佳答案
我将创建一个变量数组,然后使用 join()。
var filters = [];
使用 if 语句检查它们是否不是空字符串。
if (jsedibility != ""){ filters.push(jsedibility) }
var filtersString = filters.join('&');
然后在你的 setFilters() 中,
window.location.assign('./' + filtersString)
关于javascript - 将 Javascript 变量动态附加到 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56718251/