使用javascript或jquery编写带有GET参数的链接的最佳方法是什么

使用javascript或jquery编写带有GET参数的链接的最佳方法是什么,javascript,jquery,url,get,url-parameters,Javascript,Jquery,Url,Get,Url Parameters,我想用从变量中收集的几个GET参数组成一个链接。例如: link.php?param1=value1&param2=value2&param3=value3 在javascript中,如果变量var1、var2和var3已经设置为相应的值,我知道链接可以通过连接字符串和变量组成,如下所示: url = "link.php?param1=" + var1 + "&param2=" + var2 + "&param3=" + var3; $.ajax({ ur

我想用从变量中收集的几个GET参数组成一个链接。例如:

link.php?param1=value1&param2=value2&param3=value3
在javascript中,如果变量var1、var2和var3已经设置为相应的值,我知道链接可以通过连接字符串和变量组成,如下所示:

url = "link.php?param1=" + var1 + "&param2=" + var2 + "&param3=" + var3;
$.ajax({
  url: url,
  data:{
    param1: var1,
    param2: var2, 
    param3: var3
  }
});
有没有更干净或更好的方法?在jquery中,ajax请求函数接受一个数据参数,该参数可以轻松设置,如下所示:

url = "link.php?param1=" + var1 + "&param2=" + var2 + "&param3=" + var3;
$.ajax({
  url: url,
  data:{
    param1: var1,
    param2: var2, 
    param3: var3
  }
});
有没有类似的方法来组合链接,只是将其存储在变量中,而不是执行ajax请求

我知道jquery的.get()函数,正如文档中提到的:“使用HTTP get请求从服务器加载数据。”我不想这样,我只需要编写链接

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
}
这是为ES2015和laffs准备的

这是我不久前(在ES2015之前)做的一个函数——使用基本URL作为参数1调用它,并使用如下对象

{
    param1Name: param1Value,
    param2Name: param2Value
}
这是为ES2015和laffs准备的

我过去经常这么做。它允许您解析和字符串化查询字符串,如
queryString.stringify({color:['taupe','chartrese'],id:'515'})。我正在使用它。它允许您解析和字符串化查询字符串,如
queryString.stringify({color:['taupe','chartrese'],id:'515'})