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, время: 09:45. |