Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Сделать get url из массива (https://javascript.ru/forum/misc/36244-sdelat-get-url-iz-massiva.html)

Bezlepkin 08.03.2013 22:38

Сделать get url из массива
 
Привет всем!
Подскажите, как по уму сделать:
function createURL(formElements) {
  var queryString = '?';
  for (key in formElements) {
    queryString += key + '=' + formElements[key];
  }
}


Делаю url из массива, надо после значения (name=bob) разделить аперсандом &
Как это лучше сделать?

ksa 09.03.2013 10:47

Цитата:

Сообщение от Bezlepkin
Как это лучше сделать?

Как вариант...

var o={
	prm1: 'dat1',
	prm2: 'dat2',
	prm3: 'dat3',
	prm4: 'dat4'
};
alert(url(o));
function url(Obj){
	var url = '?';
	var dlm='';
	for (var key in Obj) {
		url += dlm + key + '=' + Obj[key];
		dlm='&';
	}
	return url;
};

Bezlepkin 09.03.2013 15:40

Cпасибо!

danik.js 09.03.2013 16:26

Другой напрашивающийся вариант, не уверен что лучше, но все же:

var o = {
    prm1: 'dat1',
    prm2: 'dat2',
    prm3: 'dat3',
    prm4: 'dat4'
};

alert(toQueryString(o));

function toQueryString(parameters){
    var pairs = [];
    for (var key in parameters) {
        pairs.push(key + '=' + parameters[key]);
    }
    return '?' + pairs.join('&');
};

Bezlepkin 09.03.2013 19:31

Тоже интересный вариант :)


Часовой пояс GMT +3, время: 22:16.