Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.07.2012, 00:21
Аватар для z700i
Аспирант
Отправить личное сообщение для z700i Посмотреть профиль Найти все сообщения от z700i
 
Регистрация: 15.10.2010
Сообщений: 77

нужен аналог
Нужен JS аналог PHP кода
function params($params) {
    $pice = array();
    foreach($params as $k=>$v) {
        $pice[] = $k.'='.urlencode($v);
    }
    return implode('&',$pice);
}​​​​​​
Ответить с цитированием
  #2 (permalink)  
Старый 27.07.2012, 00:39
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Как напишешь, скинь и сюда, пожалуйста
Ответить с цитированием
  #3 (permalink)  
Старый 27.07.2012, 01:06
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,492

http://javascript.ru/Array
http://javascript.ru/for..in
http://javascript.ru/String/concat
http://javascript.ru/encodeuricomponent
http://javascript.ru/Array/join
Дерзайте.
__________________
29375, 35
Ответить с цитированием
  #4 (permalink)  
Старый 27.07.2012, 12:51
Аватар для z700i
Аспирант
Отправить личное сообщение для z700i Посмотреть профиль Найти все сообщения от z700i
 
Регистрация: 15.10.2010
Сообщений: 77

a = {
    "uids":[1,9055379],
    "fields":['first_name', 'last_name', 'sex', 'online'],
    "name_case":'nom'
};
/*---------------------------------------------------------------*/
function params(params){
    var res = [];
    for(var p in params){
        res.push(p+'='+params[p]);
    }
    /*return res.join('&');    Использовать надо эту строку, но для примера будет следующая */
    alert(res.join('&'));
}
params(a);

Последний раз редактировалось z700i, 27.07.2012 в 12:53. Причина: исправление примера
Ответить с цитированием
  #5 (permalink)  
Старый 27.07.2012, 23:39
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,492

Забыл http://javascript.ru/encodeuricomponent .=)
__________________
29375, 35
Ответить с цитированием
  #6 (permalink)  
Старый 29.07.2012, 13:26
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от z700i Посмотреть сообщение
Нужен JS аналог PHP кода
function params($params) {
    $pice = array();
    foreach($params as $k=>$v) {
        $pice[] = $k.'='.urlencode($v);
    }
    return implode('&',$pice);
}​​​​​​
нерекурсивно, но расширяемо.
function params (obj) {
    var res = [], i, type;
    for (i in obj) {
        // класс объекта. Array, Number, Undefined ...
        type = Object.prototype.toString.call(obj[i]).slice(8, -1);
        // либо результат хука, либо "как есть"
        res.push( type in params ? params[type](i, obj[i]) : i + "=" + encodeURI(obj[i]) );
    }
    return res.join("&");
}

// расширения
// научим обрабатывать массивы
params["Array"] = function (key, val) {
    for (var i = 0, buffer = []; i in val; i += 1) {
        buffer.push(key + "[]=" + encodeURI(val[i]));
    }
    return buffer.join("&");
};
// и флаги
params["Undefined"] = function (key) {
    return key;
};

// использование
var prms = {
    foo: "bar", 
    bool: true, 
    num: 9000, 
    arr: [1, 2, 3],
    flag: undefined
};

alert( params(prms) );
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Очень нужен скрипт для лёгкого интернет магазина samael Общие вопросы Javascript 3 26.06.2012 10:35
срочно нужен урок! Arkinsstoun jQuery 5 19.02.2012 09:57
Аналог lightbox SARD Элементы интерфейса 6 27.11.2011 22:18
Помогите! Очень нужен скрипт расчет мощности кондиционера smailcom (X)HTML/CSS 1 12.12.2010 15:36
аналог getElementsByName MaxB jQuery 2 04.08.2009 19:39