Jquery, ajax запрос.
Здравствуйте.
Возможно мой вопрос будет не очень корректным. Заранее приношу извинения. У меня не получается связки между js скриптом и php кодом. Начал проводить опыты на самом элементарном примере. Вся равно не получается. Может кто поможет. test.js (использую jquery) $(document).ready(function(){ $('#button').click(function(){ // alert ('ok'); $.ajax({ type: "POST", url: "test.php", data: "name=test&location=test2", success: function(msg){ alert( "Data Saved: " + 'ok' ); }, error: function() { alert( "Data not Saved" ); } }); }); }); test.php <?php header('Content-Type: text/html; charset=utf-8'); if($_POST['name']) { print "ok"; } Мне нужно что бы при нажатие на #button начинал исполняться пхп код. А браузер выдает только alert, который в success. Вообще нужно переменную туда передавать которая вычисляется в формуле в самом js, и потом обновить данные бызы. А в js вернуть то что все прошло успешно. Вывод на экран даже не срабатывает, не говоря уже о передачи переменной. Как это сделать? Заранее благодарен. |
fantazista,
рнр код выплняется. вывод на экран не срабатывает-а он и не должен читай про аякс.внимательно читай-чем он отличается от передачи данных через форму |
Цитата:
А как тогда мне контролировать код. Что php видит эту переменную и сможет внести ее в базу. У меня, что то наподобие игры. После завершения игры внутри jquery вычисляется баллы. После этого пхп скрипт должен апдейтнуть базу юзера. Вслепую работать неприятно. Буду признателен за подсказку в каком направлении двигаться. |
|
Ставишь Firebug в лисе. Вкладка сеть
Отправляешь запрос и видишь что улетает. Принимай теперь это на php. Напиши например print 'Пришло значение:' . $_POST['myvar']; и в js это вернется и увидишь работает или нет. |
Немного больше познакомился с ajax.
И теперь хочу вернуть результат обработки сервера обратно и вывести в браузер. Что то опять не так. Вот js $('#play2').click(function() { //alert ('sdasd'); var test = 5; $.ajax({ type: "POST", url: "controller.php", data: {test : test}, success: function(data){ $('#result').html(data); }, error: function() { alert( "Data not Saved" ); } }); }); controller.php <?php header('Content-Type: text/html; charset=utf-8'); if(isset($_POST['test'])) { $x = '<p>проверка связи)</p>'; return $x; } else { $x = '<p>нет связи</p>'; return $x; } Ничего не возвращает. Если написать html(test). В этом случае просто значение возвращает (5). Хотелось бы понять как вернуть html или же обработав переменную $_POST['test'] вернуть ее обратно. |
Вот данные запросов. Вроде бы ничего и не уходит на сервер.
Response Headers Date Fri, 11 Mar 2011 16:33:16 GMT Server Apache/2.2.11 (Win32) PHP/5.3.0 X-Powered-By PHP/5.3.0 Content-Length 0 Keep-Alive timeout=5, max=98 Connection Keep-Alive Content-Type text/html; charset=utf-8 Request Headersview Host localhost User-Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.2.15) Gecko/20110303 MRA 5.7 (build 03686) Firefox/3.6.15 WebMoney Advisor Accept */* Accept-Language en-gb,en;q=0.5 Accept-Encoding gzip,deflate Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive 115 Connection keep-alive Content-Type application/x-www-form-urlencoded; charset=UTF-8 X-Requested-With XMLHttpRequest Referer [url]http://localhost/test/[/url] Content-Length 6 Cookie vc=8 Pragma no-cache Cache-Control no-cache |
$(document).ready(function(){ $('#id_1').click(function(){ $.ajax({ url:'file.php', type:'POST', data:'var1=ext1', dataType:'html', success:function(html){ $('#source').html(html); } }); }); }); |
Цитата:
echo $x; |
walik,
Да спасибо. Это от незнание сути происходящего происходило. Привык только в php работать. |
Часовой пояс GMT +3, время: 23:26. |