вывод данных из массива JSON
Граждане, упарился ковырять гугл (и он от меня тоже устал). Подскажите, как выводить данные из массива?
В PHP это делается просто и понятно: $row = $query->fetch_assoc(); <div>".$row['name']."</div> как выводить из:
success:function(data){}
В PHP: case 'значение': $result = функция($_POST); echo json_encode($result); break; В jQuery:
function call(){
var forms = $('form.add').serialize();
var ansver = $('div.ansv');
$.ajax({
type:'POST',
url:'обработчик.php',
data:forms,
success:function(data){
//как работать с массивом в data?
}
});
}
массив ассоциативный в виде:
{"id":"11","wr":"63078","w_ph":"........","s_rou":"\u041a\u0438\u0435\u0432-\u041c\u043e\u0441\u043a\u0432\u0430","s_st":"\u041a\u0438\u0435\u0432","s_fn":"\u0421\u0435\u0432\u0430\u0441\u0442\u043e\u043f\u043e\u043b\u044c","s_nm":"\u041a\u043e\u0441\u043c\u0443\u043b\u044f \u0421\u0435\u0440\u0433\u0435\u0439","s_ph":"0979654433","s_kl":"1","s_dt":"03.03.2016","s_mn":"900","s_ps":"\u041c\u0435\u0441\u0442\u043e \u0443 \u043e\u043a\u043d\u0430"........... и т.д}
второй вариант массива: если в PHP вместо json_encode ставлю print_r, Array ( [id] => 11 [work] => ..... [w_ph] => .......... [s_rou] => ............. [sl_st] => ....... [s_fn] => ................. [s_nm] => ............. [s_ph] => ............. и т.д ) как значение всунуть например:
var div = $('<div/>',{
class:'class',
text: data.id //сюда значение из массива (не работает)
});
или
$('<div>'+data.name+'</div>'); //не работает
HELP пожалуйста...:cray: |
Vincent Vega,
может так data[0].id ? |
$(ansver).html("<div>"+data[id]+"</div>");//ниче не происходит
$(ansver).html("<div>"+data[0].id+"</div>");//undefined
$(ansver).html("<div>"+data.id+"</div>");//undefined
|
полный код скрипта:
$('div.articl_work').on('click','.go',function(){
var message = $('form.opt_seal_'+elems).serialize();
var ansver = $('div.ansv');
$.ajax({
type: 'POST',
url: 'lib/обработчик.php',
data: message,
success:function(data){
$(ansver).html("<div>"+data[0].id+"</div>");
},
error:function(xhr,str){
alert('Возникла ошибка: ' + xhr.responseCode);
}
});
});
полный код PHP
if(isset($_POST)) {
$forms = $_POST['options'];
switch($forms) {
case 'add_new_seal': $act = addNewSealBase($_POST); echo print_r($act); break;
case 'conf': $act = func($_POST); echo $act; break;
case 'deconf': $act = func($_POST); echo $act; break;
case 'del': $act = func($_POST); echo $act; break;
case 'upd': $act = func($_POST); echo json_encode($act); break;
}
}
|
Vincent Vega,
вы сами то смотрели что у вас в data? строка, массив, обьект или ещё что? |
{"id":"11",
"wr":"63078",
"w_ph":"........",
"s_rou":"\u041a\u0438\u0435\u0432-\u041c\u043e\u0441\u043a\u0432\u0430",
"s_st":"\u041a\u0438\u0435\u0432",
"s_fn":"\u0421\u0435\u0432\u0430\u0441\u0442\u043e\u043f\u043e\u043b\u044c",
"s_nm":"\u041a\u043e\u0441\u043c\u0443\u043b\u044f \u0421\u0435\u0440\u0433\u0435\u0439",
"s_ph":"0979654433",
"s_kl":"1",
"s_dt":"03.03.2016",
"s_mn":"900",
"s_ps":"\u041c\u0435\u0441\u0442\u043e \u0443 \u043e\u043a\u043d\u0430"........... и т.д}
вот такой массив |
Vincent Vega,
:-? |
есть вариант получить его в таком виде. Так возвращает база.
Array ( [id] => 11 [work] => значение [w_ph] => значение [s_rou] => значение [sl_st] => значение [s_fn] => значение [s_nm] => значение [s_ph] => значение и т.д ) |
Vincent Vega,
явно у вас не то что вы показываите в посте 6, иначе бы оно у вас работало. |
скрин экрана сюда реально выложить..? через alert(data); выводит тоже самое.
|
| Часовой пояс GMT +3, время: 06:34. |