Ajax - success(data)({})
Как можно получить значение ячейки не по её названию (data.name), а по её порядковому номеру.
|
Какой ячейки? Партийной?
Телепаты сбежали с планеты, так что придётся вам выражать всё словами. |
Цитата:
|
Она не от божъего откровения пришла, а с сервера. Как серверный код отдаёт так оно и будет. Передаёт он порядковый номер - значит можно. Нет так нет. Что у вас там на сервере никто кроме вас не знает.
|
В общем с сервера при помощи Ajax мне приходит ассоциативный массив - data. Я вывожу имя (Name, то бишь ячейку) так:
success: function(data){ alert(data.Name); } Пусть эта ячейка имеет индекс в таблице БД Mysql - 2. Как мне вывести эту же ячейку, но не по её имени, а по индексу? При том, что массив ассоциативный(то есть в php обработчике mysql_fetch_assoc), и используется dataType: "json". |
Использовать mysql_fetch_row, вестимо.
|
<!Doctype html> <html><head><meta charset="utf-8"></head><body> <input type="button" onclick=" alert ( BuIndex (data,1) )" value="1 значение из var data"> <input type="button" onclick=" alert ( KeyBuIndex (data,1) )" value="1 ключ из var data"> <br> <input type="button" onclick=" alert ( BuIndex (data,2) )" value="2 значение из var data"> <input type="button" onclick=" alert ( KeyBuIndex (data,2) )" value="2 ключ из var data"> <br> <input type="button" onclick=" alert ( BuIndex (data,3) )" value="3 значение из var data"> <input type="button" onclick=" alert ( KeyBuIndex (data,3) )" value="3 ключ из var data"> <br> <input type="button" onclick=" alert ( BuIndex (data,4) )" value="4 значение из var data"> <input type="button" onclick=" alert ( KeyBuIndex (data,4) )" value="4 ключ из var data"> <br> <script type="text/javascript"> data = {}; data.name = "КаКа"; data.id = 123456; data.str = "сточка текста"; emptu=function f(o,n,v){var k,r,i=0; BuIndex=function(q,n){return f(q,n,9)}; KeyBuIndex=function(q,n){return f(q,n)}; for(k in o){n==++i?(v?r=o[k]:r=k):0}return r; };emptu();delete emptu; </script></body></html>Это крайне глупо =) |
Збс оформление.
|
Какой именно массив обрабатывать? Без mysql_fetch_row alert выводит - "undefined":
$query = mysql_query("SELECT * FROM table WHERE ID='10'"); $res = mysql_fetch_assoc($query); echo json_encode($res); $.ajax({ type: "POST", data: "Test=1", url: "test.php", dataType: "json", success: function(data){ alert(data[1]); } }) |
MallSerg, порядок в ассоциативном массиве в js не гарантирован. В целях каких-либо внутренних оптимизаций движок спокойно может переставить значения местами. Да, обычно for in итерирует в том же порядке в каком значения были заданы, но в любой момент порядок может поменяться. И это происходит чаще чем кажется.
Urukhay, а что выводит alert(data)? |
Часовой пояс GMT +3, время: 02:13. |