Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   как передать массив (https://javascript.ru/forum/jquery/29958-kak-peredat-massiv.html)

Faab 18.07.2012 22:04

как передать массив
 
массив (в примере ниже) можно легко поймать в JQuery
$result[key]="primer0";
$result[meta]="primer1";
$result[title]="primer2";


А вот как работать с таким массивом:
$result[0]="primer0";
$result[1]="primer1";
$result[2]="primer2";



Проблема: раньше в функции ".ajax" я просто присваивал полученные значения уже созданным объектам. А теперь, объекты пока ещё не существуют.

Конечно, всю выборку можно было просто вывести в php через printf(). Но хочу понять основы работы JQuery. Работают ли так в JQuery вообще?

melky 18.07.2012 22:45

Цитата:

Сообщение от Faab
массив (в примере ниже) можно легко поймать в JQuery

что значит "поймать"?
Цитата:

Сообщение от Faab
А вот как работать с таким массивом:

очевидно, что так же, как и с первым. в JS массив от объекта мало чем отличается (внешне)

Цитата:

Сообщение от Faab
Проблема: раньше в функции ".ajax" я просто присваивал полученные значения уже созданным объектам. А теперь, объекты пока ещё не существуют.

желательно пример кода, в котором эта проблема присутствует.

Цитата:

Сообщение от Faab
Конечно, всю выборку можно было просто вывести в php через printf().

выборку чего? Вы же запрос отправляете на сервер, разве нет?

Faab 19.07.2012 00:13

В php сделана выборка массива, неважно по какому запросу. Запросы могут менятся. Массив будет создаю так:
$les = array();
    $lessen = mysql_query("SELECT title FROM lessen", $db);
    while ($myles = mysql_fetch_array($lessen))
    {
        $les[]=$myles['title'];     
        };
echo json_encode($les);


Созданный массив посылаю обратно JQuery. Первый вопрос, как выбрать из такого массива содержимое. Не буду же я писать следующее:

dataType: "json",
        success: function(data)
           { var title = data}


Сам массив
$result[0]="primer0";
$result[1]="primer1";
$result[2]="primer2";

melky 19.07.2012 06:09

Цитата:

Сообщение от Faab
Созданный массив посылаю обратно JQuery. Первый вопрос, как выбрать из такого массива содержимое. Не буду же я писать следующее:

все верно. в php выводите json_encode'нный массив, а в JQ указываете, что имеете в результате запроса json. дальше используете data, как массив, ибо :
$array = array(1, 2, 3);
echo json_encode(array);
// [ 1, 2, 3 ]

т.е. php выведет массив, а не объект.
дальше он легко превратится в массив:
alert( Object.prototype.toString.call( JSON.parse("[1, 2, 3]") ) );

JSON.parse производится в самой jq при указании того, что пришедшие данные будут в формате json.

Faab 19.07.2012 06:19

Спасибо , попробую

Faab 19.07.2012 15:36

Всё, я туплю... Функция аjax мне возвращает массив в data, я заношу всё это в переменную. И всё! Я не знаю что делать с этим массивом (или объектом). Я не знаю как вытащить нужные мне данные из массива. Я не знаю как присобачить JSONparse.
success: function(data)
                var fin = data


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