Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   вывод данных из массива JSON (https://javascript.ru/forum/jquery/61700-vyvod-dannykh-iz-massiva-json.html)

Vincent Vega 03.03.2016 21:51

вывод данных из массива 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:

рони 03.03.2016 23:14

Vincent Vega,
может так data[0].id ?

Vincent Vega 03.03.2016 23:34

$(ansver).html("<div>"+data[id]+"</div>");//ниче не происходит

$(ansver).html("<div>"+data[0].id+"</div>");//undefined

$(ansver).html("<div>"+data.id+"</div>");//undefined

Vincent Vega 03.03.2016 23:42

полный код скрипта:
$('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;
	}
}

рони 04.03.2016 00:15

Vincent Vega,
вы сами то смотрели что у вас в data? строка, массив, обьект или ещё что?

Vincent Vega 04.03.2016 00:20

{"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"........... и т.д}

вот такой массив

рони 04.03.2016 00:22

Vincent Vega,
:-?

Vincent Vega 04.03.2016 00:31

есть вариант получить его в таком виде. Так возвращает база.
Array ( [id] => 11 [work] => значение [w_ph] => значение [s_rou] => значение [sl_st] => значение [s_fn] => значение [s_nm] => значение [s_ph] => значение и т.д )

рони 04.03.2016 00:42

Vincent Vega,
явно у вас не то что вы показываите в посте 6, иначе бы оно у вас работало.

Vincent Vega 04.03.2016 00:53

скрин экрана сюда реально выложить..? через alert(data); выводит тоже самое.


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