Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Jquery, ajax запрос. (https://javascript.ru/forum/server/15700-jquery-ajax-zapros.html)

fantazista 10.03.2011 11:11

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 вернуть то что все прошло успешно. Вывод на экран даже не срабатывает, не говоря уже о передачи переменной.
Как это сделать?
Заранее благодарен.

dmitriymar 10.03.2011 11:40

fantazista,
рнр код выплняется. вывод на экран не срабатывает-а он и не должен
читай про аякс.внимательно читай-чем он отличается от передачи данных через форму

fantazista 10.03.2011 11:51

Цитата:

Сообщение от dmitriymar (Сообщение 95853)
fantazista,
рнр код выплняется. вывод на экран не срабатывает-а он и не должен
читай про аякс.внимательно читай-чем он отличается от передачи данных через форму

Ок. спасибо.
А как тогда мне контролировать код. Что php видит эту переменную и сможет внести ее в базу.
У меня, что то наподобие игры. После завершения игры внутри jquery вычисляется баллы. После этого пхп скрипт должен апдейтнуть базу юзера. Вслепую работать неприятно. Буду признателен за подсказку в каком направлении двигаться.

dmitriymar 10.03.2011 11:54

http://javascript.ru/ajax

micscr 11.03.2011 08:46

Ставишь Firebug в лисе. Вкладка сеть
Отправляешь запрос и видишь что улетает.
Принимай теперь это на php.
Напиши например
print 'Пришло значение:' . $_POST['myvar'];

и в js это вернется и увидишь работает или нет.

fantazista 11.03.2011 19:29

Немного больше познакомился с 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'] вернуть ее обратно.

fantazista 11.03.2011 19:34

Вот данные запросов. Вроде бы ничего и не уходит на сервер.

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

Saimon7887 12.03.2011 02:28

$(document).ready(function(){
$('#id_1').click(function(){
    $.ajax({
        url:'file.php',
        type:'POST',
        data:'var1=ext1',
        dataType:'html',
        success:function(html){
            $('#source').html(html);
        }
    });
});
});

walik 12.03.2011 10:49

Цитата:

Сообщение от fantazista
return $x;

Так тебе выводить надо а не возвращать return'ом
echo $x;

fantazista 12.03.2011 13:16

walik,
Да спасибо. Это от незнание сути происходящего происходило. Привык только в php работать.


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