javascript如何在对象中存储带param的url

时间:2015-09-02 19:02:12

标签: javascript object parameters request

我想在这样的对象中存储带有param的url:

var list = [
  {
    name: 'Hello world',
    url: 'http://www.thisismyurl.com/' + latlon + '/endofmyurl'
  },
  {
    name: 'Hello world2',
    url: 'http://www.thisismyurl2.com/' + latlon + '/endofmyurl'
  },
   ...
];

那么当我想提出请求时,我可以使用url并通过真正的latlon更改变量latlon。但是一开始我的latlon还不存在所以我得到了一个错误。

  

无法读取未定义的属性'latlon'

我在网址中有很多参数,所以我不知道如何处理它

3 个答案:

答案 0 :(得分:0)

以前定义latlon。

var latlon = 'lat/27.664827/lon/-81.515754';

var list = [
{
  name: 'Hello world',
  url: 'http://www.thisismyurl.com/' + latlon + '/endofmyurl'
},
{
  name: 'Hello world2',
  url: 'http://www.thisismyurl2.com/' + latlon + '/endofmyurl'
},
...
];

答案 1 :(得分:0)

所以,如果latlon还不存在,那么你可以在它存在时调用该代码块,这应该可以解决你的问题。最简单的方法是将它包装在这样的函数中:

var getList = function (latlon) {
  return [
    {
      name: 'Hello world',
      url: 'http://www.thisismyurl.com/' + latlon + '/endofmyurl'
    },
    {
      name: 'Hello world2',
      url: 'http://www.thisismyurl2.com/' + latlon + '/endofmyurl'
    }
  ];
}

var latlon = "hereismystring";
getList(latlon);

答案 2 :(得分:0)

这是怎么回事?

var list = Array();  

function addObj(name, url, latlon){
    list.push({
        name: name,
        url: url[0] + latlon + url[1]
    })
}

addObj('Hello world', ['http://www.thisismyurl.com/', '/endofmyurl'], '27.664827-81.515754');