javascript - 将 Javascript 变量动态附加到 URL

标签 javascript php

我试图生成一个包含多个 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/

相关文章:

javascript - node_modules 中的 typescript 模块是否已经编译

javascript - React 问题 - @ 是一个意外的标记

javascript - 在 Firefox 15 中更改警告框字体大小

php - SQL:如何每天选择一行

PHP 查找字符串中所有出现的子字符串

javascript - Mootools 和 IE9

javascript - 粒子(用构造函数创建)在碰撞时扩展和消失

php - 在php中显示HTML表多维数组中的数组数据

php - 一起使用 javascript 和 php

javascript - Paypal IPN - 在打开 Paypal 网站之前重定向页面