Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.08.2011, 00:14
Аватар для Sadist_dead
Профессор
Отправить личное сообщение для Sadist_dead Посмотреть профиль Найти все сообщения от Sadist_dead
 
Регистрация: 08.08.2011
Сообщений: 191

построение Графика (передача переменной ajax json)
Есть график
<script type="text/javascript" src="sources/jscharts.js"></script>
<script type="text/javascript">
var myData = new Array(['Петя', 69.5], ['Вася', 2.8], ['Маша', 5.6], ['Саша', 2.8], ['Жопа', 14.6], ['Светлана', 2.7], ['Кирилл', 1.9]);
	var colors = ['#FA5E1F', '#FDCB3F', '#71D743', '#D23333', '#BAE73F', '#AB7B55', '#B381C9'];
	var myChart = new JSChart('graph', 'bar');
	myChart.setDataArray(myData);
	myChart.colorizeBars(colors);
	myChart.setTitle('Электронная система учета успеваемости');
	myChart.setTitleColor('#8E8E8E');
	myChart.setAxisNameX('ученик');
	myChart.setAxisNameY('Баллы');
	myChart.setAxisColor('#c6c6c6');
	myChart.setAxisWidth(1);
	myChart.setAxisNameColor('#9a9a9a');
	myChart.setAxisValuesColor('#939393');
	myChart.setAxisPaddingTop(60);
	myChart.setAxisPaddingLeft(50);
	myChart.setAxisPaddingBottom(60);
	myChart.setTextPaddingBottom(20);
	myChart.setTextPaddingLeft(15);
	myChart.setTitleFontSize(11);
	myChart.setBarBorderWidth(0);
	myChart.setBarSpacingRatio(50);
	myChart.setBarValuesColor('#737373');
	myChart.setGrid(false);
	myChart.setSize(500, 321);
	myChart.setBackgroundImage('img/chart_bg.jpg');
	myChart.draw();
</script>


и есть запрос в базу
<script type="text/javascript">

$("#graph").click(function(){


	var a = $("#datepicker").val();
	var b = <?php  echo $myrow['id_user']; ?>
	
$.ajax({
	type: "POST",
	url: "http://localhost/dnevnik/test.php",
	data: ({a:a,b:b}),
	dataType: 'json',
	beforesend: alert("Отправляемые данные  a=" +a+ "b="+b), // Проверка отправления данных
	

	success: function(data){
   
 
           
			$.each(data, function(index,a){
    // index -> какой по счету объект в data, a -> data[ index ]
    for(var i in a ) {
        // i -> Id_p, a[ p ] -> qwerty
        if(i === "Id_p"){
			

			$("#Id_p" + index).append(a[i]);
		};// закрытие if
		

	 
}; // закрытие for

         	 
}); // закрытие $.each(data, function(index,a){   
}, // закрытие success: function(data){

});

});
</script>



Все по раздельности работает, а вот вместе нет , помогите мне пожалуйста соединить эти два скрипта и вставить вместо
var myData = new Array(['Петя', 69.5], ['Вася', 2.8], ['Маша', 5.6], ['Саша', 2.8], ['Жопа', 14.6], ['Светлана', 2.7], ['Кирилл', 1.9]);

мой массив date
Ответить с цитированием
  #2 (permalink)  
Старый 13.08.2011, 00:20
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

ошибка в скрипте. он и не должен работать

$.ajax({
	type: "POST",
	url: "http://localhost/dnevnik/test.php",
	data: ({a:a,b:b}),
	dataType: 'json',
*!*
	beforesend: alert("Отправляемые данные  a=" +a+ "b="+b), // Проверка отправления данных
*/!*	

	success: function(data){
   
 
           
			$.each(data, function(index,a){
    // index -> какой по счету объект в data, a -> data[ index ]
    for(var i in a ) {
        // i -> Id_p, a[ p ] -> qwerty
        if(i === "Id_p"){
			

			$("#Id_p" + index).append(a[i]);
		};// закрытие if
		

	 
}; // закрытие for

         	 
}); // закрытие $.each(data, function(index,a){   
}, // закрытие success: function(data){

});
Ответить с цитированием
  #3 (permalink)  
Старый 13.08.2011, 00:25
Аватар для Sadist_dead
Профессор
Отправить личное сообщение для Sadist_dead Посмотреть профиль Найти все сообщения от Sadist_dead
 
Регистрация: 08.08.2011
Сообщений: 191

beforesend: alert("Отправляемые данные  a=" +a+ "b="+b),

Не знаю скрипт работает(выводить нормально ) ... и тот и другой, как только засунуть их друг в друга не знаю чтобы переменную date передать
Ответить с цитированием
  #4 (permalink)  
Старый 13.08.2011, 00:40
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

и правда. хм... спать уже что ли пора

слишком много кода, локализуйте проблему, ошибки в консоли появляются? что приходит из success из ajax ? откуда брать вашу data ?
Ответить с цитированием
  #5 (permalink)  
Старый 13.08.2011, 00:49
Аватар для Sadist_dead
Профессор
Отправить личное сообщение для Sadist_dead Посмотреть профиль Найти все сообщения от Sadist_dead
 
Регистрация: 08.08.2011
Сообщений: 191

Сообщение от melky Посмотреть сообщение
и правда. хм... спать уже что ли пора

слишком много кода, локализуйте проблему, ошибки в консоли появляются? что приходит из success из ajax ? откуда брать вашу data ?
Есть запрос который
$.ajax({ 
	type: "POST",
	url: "http://localhost/dnevnik/ocenka.php",
	data: ({a:a,b:b}),
	dataType: 'json',
	//beforesend: alert("Отправляемые данные  a=" +a+ "b="+b), // Проверка отправления данных
	

	success: function(data){alert(data);}


присылает нам массив с нашими переменными


и есть график в который я хочу вставить эту переменную, но чтобы ее вставить нужно вставить код нашего графика куда до в общий код написанный мной выше.. надо же ему как то понимать от куда эта переменная ( значит скорее всего надо вставить в эту функцию. я пробую все время вставлять но не чего не происходит , но по отдельности все работает (без передачи переменной )


сам график
script type="text/javascript">


var myData = new Array(['Петя', 69.5], ['Вася', 2.8], ['Маша', 5.6], ['Саша', 2.8], ['Жопа', 14.6], ['Светлана', 2.7], ['Кирилл', 1.9]);
	var colors = ['#FA5E1F', '#FDCB3F', '#71D743', '#D23333', '#BAE73F', '#AB7B55', '#B381C9'];
	var myChart = new JSChart('graph', 'bar');
	myChart.setDataArray(myData);
	myChart.colorizeBars(colors);
	myChart.setTitle('Электронная система учета успеваемости');
	myChart.setTitleColor('#8E8E8E');
	myChart.setAxisNameX('ученик');
	myChart.setAxisNameY('Баллы');
	myChart.setAxisColor('#c6c6c6');
	myChart.setAxisWidth(1);
	myChart.setAxisNameColor('#9a9a9a');
	myChart.setAxisValuesColor('#939393');
	myChart.setAxisPaddingTop(60);
	myChart.setAxisPaddingLeft(50);
	myChart.setAxisPaddingBottom(60);
	myChart.setTextPaddingBottom(20);
	myChart.setTextPaddingLeft(15);
	myChart.setTitleFontSize(11);
	myChart.setBarBorderWidth(0);
	myChart.setBarSpacingRatio(50);
	myChart.setBarValuesColor('#737373');
	myChart.setGrid(false);
	myChart.setSize(500, 321);
	myChart.setBackgroundImage('img/chart_bg.jpg');
	myChart.draw();



</script>
Ответить с цитированием
  #6 (permalink)  
Старый 13.08.2011, 01:14
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

ааа

а что приходит с сервера? data
Ответить с цитированием
  #7 (permalink)  
Старый 13.08.2011, 01:16
Аватар для Sadist_dead
Профессор
Отправить личное сообщение для Sadist_dead Посмотреть профиль Найти все сообщения от Sadist_dead
 
Регистрация: 08.08.2011
Сообщений: 191

Сообщение от melky Посмотреть сообщение
ааа

а что приходит с сервера? data
массив data

Последний раз редактировалось Sadist_dead, 13.08.2011 в 01:21.
Ответить с цитированием
  #8 (permalink)  
Старый 13.08.2011, 01:44
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

покажи его

если он похож на
var myData = new Array(['Петя', 69.5], ['Вася', 2.8], ['Маша', 5.6], ['Саша', 2.8], ['Жопа', 14.6], ['Светлана', 2.7], ['Кирилл', 1.9]);


то дело в шляпе
Ответить с цитированием
  #9 (permalink)  
Старый 13.08.2011, 01:49
Аватар для Sadist_dead
Профессор
Отправить личное сообщение для Sadist_dead Посмотреть профиль Найти все сообщения от Sadist_dead
 
Регистрация: 08.08.2011
Сообщений: 191

такой же, я понимаю что в шляпе у меня проблема только в синтаксисе я просто не знаю куда вставить в код графика чтобы он работал
[{"id_p":"Вася","ocenka":34}
{"id_p":"Петя","ocenka":15}
{"id_p":"Лена","ocenka":10}
{"id_p":"Кирилл","ocenka":12}]
Ответить с цитированием
  #10 (permalink)  
Старый 13.08.2011, 07:26
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от Sadist_dead
[{"id_p":"Вася","ocenka":34}
{"id_p":"Петя","ocenka":15}
{"id_p":"Лена","ocenka":10}
{"id_p":"Кирилл","ocenka":12}]
Странный однако массив, а где запятые после объектов?

добавьте:
complete: function( xhr ) {
   alert( xhr.responseText );
}
Если выведет то что посылает сервер, значит функция работает норм и просто не удалось вашу json строку перевести в объект. success выполниться тока в том случае если входные данные будут соответствовать тому какой указан dataType
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
передача JSON на сервер mikeles AJAX и COMET 0 04.03.2011 11:28
Массив AJAX + JSON RCuPeR AJAX и COMET 4 09.02.2011 12:34
Очень нужно.. Отправка HTML куски в JSON от сервера используя Ajax bivnikus jQuery 8 26.10.2010 23:54
Передача переменной из JS в PHP методом ajax skalka jQuery 7 28.08.2010 12:05
Что выбрать XML или JSON для передачи Ajax - ом из PHP в JS Gozar Общие вопросы Javascript 20 16.08.2009 23:36