Javascript:
function http_build_query( formdata, numeric_prefix, arg_separator ) { // Generate URL-encoded query string
//
// + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + improved by: Legaev Andrey
// + improved by: Michael White (http://crestidg.com)
var key, use_val, use_key, i = 0, tmp_arr = [];
if(!arg_separator){
arg_separator = '&';
}
for(key in formdata){
use_key = escape(key);
use_val = escape((formdata[key].toString()));
use_val = use_val.replace(/%20/g, '+');
if(numeric_prefix && !isNaN(key)){
use_key = numeric_prefix + i;
}
tmp_arr[i] = use_key + '=' + use_val;
i++;
}
return tmp_arr.join(arg_separator);
}
Примеры:
http_build_query({ foo: 'bar', baz: 'boom', cow: 'milk', php: 'hypertext processor' }, '', '&');
'foo=bar&baz=boom&cow=milk&php=hypertext+processor'
http_build_query({0: 'foo', 1: 'bar', 2: 'baz', 3: 'boom', cow: 'milk', php :'hypertext processor'}, 'myvar_');
'myvar_0=foo&myvar_1=bar&myvar_2=baz&myvar_3=boom&cow=milk&php=hypertext+processor'
|
Эта функция не поддерживает вложенные массивы, поэтому не может считаться полноценным аналогом.
а если с таким queryObj?
ведь select может содержать несколько полей, а ключ в хеше может быть только один, мы не сможем написать нечто подобное:
да и php'шная оригинальная функа правильно обрабатывает вложенные массивы.
так чта незачет.
Ну для вложенных массивов/объектов рекурсия ещё нужна
Для тех кто ищет способ обмениваться массивами через GET запрос.
Используйте jQuery.param() либо стяните исходник
Roksa lodz
Roksa krakow pradnik czerwony
Отправить комментарий
Приветствуются комментарии:Для остальных вопросов и обсуждений есть форум.