Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   передаить из php json в ajax (https://javascript.ru/forum/jquery/60920-peredait-iz-php-json-v-ajax.html)

Deno95 27.01.2016 13:45

передаить из php json в ajax
 
Раньше не когда не работал с ajax, уже пару дней не могу решить проблему. Как Передать из php json в ajax.

<?php
	include 'requests_json_wg.php';
	include 'EFF.php';
	include 'TIER.php';
	require_once( "class_wn8.php" );
	
		
	$data_user_clan = array();
	$ratings_accounts = ratings_accounts(implode (",",$clan_user_id), $ApplicationID);
	
	foreach ($clans_info['data'][$clans_list['data'][0]['clan_id']]['members'] as $key => $value)
	{	
		$data_user_clan[$value['account_id']]['account_name'] = $value['account_name'];
		$data_user_clan[$value['account_id']]['role_i18n'] = $value['role_i18n'];
		$data_user_clan[$value['account_id']]['global_rating'] = $ratings_accounts['data'][$value['account_id']]['global_rating']['value'];
		$data_user_clan[$value['account_id']]['battles_count'] = $ratings_accounts['data'][$value['account_id']]['battles_count']['value'];
		$data_user_clan[$value['account_id']]['wins_ratio'] = $ratings_accounts['data'][$value['account_id']]['wins_ratio']['value'];
		$data_user_clan[$value['account_id']]['tier'] = TIER($value['account_id'], $ApplicationID);
		$data_user_clan[$value['account_id']]['rff'] = EFF($value['account_id'], $ApplicationID, $data_user_clan[$value['account_id']][5]);
		$wn8 = new wn8($value['account_id'], $ApplicationID);
		$data_user_clan[$value['account_id']]['wn8'] = $wn8->wn8_account();
		break;
	}
	
	json_encode($data_user_clan));
?>

Понял что должна быть похожая конструкция ajax, но что делать дальше так и не разобрался.

<div class="test" id="test"></div>

$.ajax({
	url: "test2.php", 
	type: "POST",
        dataType: 'json',
	success: function (res) {                          
		$("#test").html(res);
	}
});

laimas 27.01.2016 14:48

Если вы указали тип json, то success: function (res) вернет объект, в вы его пытаетесь вставить как html-код - $("#test").html(res);.

Зачем гоняете на сервере два цикла, причем перерабатывая одно и тоже, если вам из массива $clans_info['data'][$clans_list['data'][0]['clan_id']]['members'], а затем (что вообще лишний цикл) из $data_user_clan нужен только первый их элемент?

Deno95 27.01.2016 16:48

Цитата:

Сообщение от laimas (Сообщение 405192)
Если вы указали тип json, то success: function (res) вернет объект, в вы его пытаетесь вставить как html-код - $("#test").html(res);.

Зачем гоняете на сервере два цикла, причем перерабатывая одно и тоже, если вам из массива $clans_info['data'][$clans_list['data'][0]['clan_id']]['members'], а затем (что вообще лишний цикл) из $data_user_clan нужен только первый их элемент?

Как мне вывести нужные данные из json? По отдельности каждую переменную.

p.s С циклом спасибо что указали, исправил что бы все шло через один.

laimas 27.01.2016 19:13

Цитата:

Сообщение от Deno95
С циклом спасибо что указали, исправил что бы все шло через один.

Он вообще не нужен цикл, его у вас и нет фактически, он заканчивается после первой итерации. Спрашивается зачем - ну получите сразу первый элемент массива $clans_info['data'][$clans_list['data'][0]['clan_id']]['members'] и выберите из него нужное.

Цитата:

Сообщение от Deno95
Как мне вывести нужные данные из json? По отдельности каждую переменную.

Вы структуру полученного объекта покажите или можно структуру массива $data_user_clan, который отправляете клиенту (вывод print_r).


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