使用 JavaScript 或 jQuery 与 GET 参数组合 link 的最佳方法是什么
What is the best way to compose a link with GET parameters using JavaScript or jQuery
我想用从变量收集的几个 GET 参数组成一个 link。例如:
link.php?param1=value1¶m2=value2¶m3=value3
在JavaScript中,如果我已经将变量var1
、var2
和var3
设置为相应的值,我知道link可以是由连接字符串和变量组成,如下所示:
url = "link.php?param1=" + var1 + "¶m2=" + var2 + "¶m3=" + var3;
有没有更干净或更好的方法来做到这一点?在 jQuery 中,AJAX 请求函数接受一个可以轻松设置的数据参数,如下所示:
$.ajax({
url: url,
data:{
param1: var1,
param2: var2,
param3: var3
}
});
是否有类似的方法来编写 link 但只是将其存储在变量中而不是执行 ajax 请求?
我知道 jQuery 的 .get()
函数,正如文档中提到的那样:
"Load data from the server using an HTTP GET request."
我不要这个,我只需要编写link。
var makeFullUrl = function (url, params) {
return [url, Object.keys(params || {}).map(function (key) {
return encodeURIComponent(key) + '=' + encodeURIComponent(params[key]);
}).join('&')].join('?');
};
这是我前段时间创建的函数(ES2015 之前)- 使用基数 URL 作为参数 1 调用它,并使用
这样的对象
{
param1Name: param1Value,
param2Name: param2Value
}
Here it is for ES2015, for laffs
var makeFullUrl = (url, params) => [url, Object.keys(params || {}).map(key => encodeURIComponent(key) + '=' + encodeURIComponent(params[key])).join('&')].join('?');
我想用从变量收集的几个 GET 参数组成一个 link。例如:
link.php?param1=value1¶m2=value2¶m3=value3
在JavaScript中,如果我已经将变量var1
、var2
和var3
设置为相应的值,我知道link可以是由连接字符串和变量组成,如下所示:
url = "link.php?param1=" + var1 + "¶m2=" + var2 + "¶m3=" + var3;
有没有更干净或更好的方法来做到这一点?在 jQuery 中,AJAX 请求函数接受一个可以轻松设置的数据参数,如下所示:
$.ajax({
url: url,
data:{
param1: var1,
param2: var2,
param3: var3
}
});
是否有类似的方法来编写 link 但只是将其存储在变量中而不是执行 ajax 请求?
我知道 jQuery 的 .get()
函数,正如文档中提到的那样:
"Load data from the server using an HTTP GET request."
我不要这个,我只需要编写link。
var makeFullUrl = function (url, params) {
return [url, Object.keys(params || {}).map(function (key) {
return encodeURIComponent(key) + '=' + encodeURIComponent(params[key]);
}).join('&')].join('?');
};
这是我前段时间创建的函数(ES2015 之前)- 使用基数 URL 作为参数 1 调用它,并使用
这样的对象{
param1Name: param1Value,
param2Name: param2Value
}
Here it is for ES2015, for laffs
var makeFullUrl = (url, params) => [url, Object.keys(params || {}).map(key => encodeURIComponent(key) + '=' + encodeURIComponent(params[key])).join('&')].join('?');