Задача: при помощи ajax подключиться к базе сделать выборку и вернуть ее в скрипт присовив переменной со всем разобрался... а вот как javadcript переменной присовить значенее полученное по ajax $.ajax({ type: "GET", url: "ajax_php_bd_time.php", data: "id="+phpArray_id_clear[q] }) Как это релиазовать
значения(е) полученные через аякс НЕВОЗМОЖНО присвоить javadcript переменной будь она глобальной или локальной. так как аякс(xmlHttpRequest) - это отдельная функция. При выполнении ее можно что то сделать с ее ответом на уровне DOM.. но передать значение далее в javascript нельзя... если кто то меня поправит то буду рад услышать
ты вообще о чем? [js]$.get('ajax_php_bd_time.php',{idhpArray_id_clear[q]},function(data){ alert(data); }, 'text');[/js]
че то я туплю... скажем есть кусок жавакода в котором присутствует некая переменная, скажем s Есть табилца на скуле из которой по ajax я делаю вылорку и получаю некоторое значение которое я хотел бы присовить жававской пересенной s ну типа: s = $.get(... и дльше уже в жаваскрипте работать с этой переменной Это реально?
я имел ввиду что ответ полученный от POST или GET запроса невозможно засунуть в переменную и дальше ее юзать в скрипте.. что то сделать с полученными данными можно только в callback функции, куда они собственно и передаются
Вот можно примерчик? Что то ка краз с обработкой получаемых от сервера данных у меня бяда... Скажем задача написать счетчик. Есть таблица, в ячейке записано число: HTML: <table><tr><td><div id='txt1'>10<div></td></tr><table> Нужно взять это число и передать фалу скажем count.php, в котором это число, скажем увеличивается на 52 PHP: $id +=52; echo $id Потом это число нужно вернуть в таблицу [js] var num_count = document.getElementById('txt1').innerHTML //===================== ajax begin ========================= $.ajax({ type: "get", url: "count.php", data: "id="+num_count, dateType: "script", success: function(msg){ alert( "Data Saved: " + msg ); document.getElementById('txt1').innerHTML= msg; } }); [/js] я так понимаю что это рабочий код и он будет пахать или я гоню?
php PHP: $m[0]=$_GET['id1']; $m[1]=$_GET['id2']; echo json_encode($m); JS Код (Text): $.ajax({ type: "get", url: "count.php", data: "id1="+num_count+"&id2="+num_count2, dateType: "json", success: function(msg){ for (i=0; i<msg.length; i++){ alert(msg[i]); } } });
Спасибо! Буду пробовать. Еще вопрос вот тако код работает: [js] var phpArray_name = new Array('txt1','txt2'); var phpArray = new Array('100','80'); for(var q=0; q < phpArray.length; q++) { document.getElementById(phpArray_name[q]).innerHTML= phpArray[q]; } [/js] А вот такой уже нет: [js] var phpArray_name = new Array('txt1','txt2'); var phpArray = new Array('100','80'); for(var q=0; q < phpArray.length; q++) { $.ajax({ type: "get", url: "ajax_php_bd_time_elon.php", data: "id="+phpArray_id_clear[q], dateType: "script", success: function(msg, phpArray_name){ document.getElementById(phpArray_name[q]).innerHTML= msg; } }); } [/js] Ругается на строчку [js] document.getElementById(phpArray_name[q]).innerHTML= msg; [/js] точнее даже на отсутсвие phpArray_name хотя если вызвать его алертом выше блока аякса он отобразиться. Как его передать в функцию что то я туплю...
балин точно нет... сорри провтыкал... тогда выведи алертом что оно покажет у тебя так Код (Text): var phpArray_name = new Array('txt1','txt2'); var phpArray = new Array('100','80'); for(var q=0; q < phpArray.length; q++) { $.ajax({ type: "get", url: "ajax_php_bd_time_elon.php", data: "id="+phpArray_id_clear[q], dateType: "script", success: function(msg, phpArray_name){ alert(phpArray_name[q]); document.getElementById(phpArray_name[q]).innerHTML= msg; } }); }
это я пробывал. тут он ругается на передачу phpArray_name в функцию грит ожидается объект и тд... я решил пойти другим путем передать этот параметр на count.php и получить его обратно при возврате в success Не сильно красиво но должно работать, я думаю.. [js] for(var q=0; q < phpArray.length; q++) { $.ajax({ type: "get", url: "ajax_php_bd_time_elon.php?id="+phpArray_id_clear[q]+"&k="+phpArray_name[q], dateType: "json", success: function(msg){ alert(msg); alert(msg.length) for (i=0; i<msg.length; i++){ alert(msg); } } }); } [/js] те я переделал твой пример по работе с Json но конструкцией msg.length он выводит длинну элемента, а не порядковый номер элемента как хотелось бы... И поэтому цикл For работает уже не корректно PHP: $m[0]=$_GET['id']; $m[1]=$_GET['k']; echo json_encode($m);
ну не знаю я .. мне тут уже сказать сложно... аякс в цикле - это перебор... надо смотреть на задачу и реализовывать ее по другому...
просто не должно такого вообще быть... это же программирование... творчество епта... ну зачем такое делать.... надо просто поставить задачу... и посмотреть как ее можно решить... надо избегать конкретики.... на конкретику сложно отвечать.... нужно ставить задачу так - есть страница с тем то и тем то... и юзер нажимает то то и то то (или не нажимает) и происходит то то и то то.... я уверен... тут без цикла можно обойтись .... нужно только знать что должно работать... учитесь ставить задачи и формулировать правильно вопросы..