вывод данных из массива 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, время: 02:38. |