Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Как передать переменную в PHP с помощью AJAX / 16 сообщений из 16, страница 1 из 1
14.01.2011, 13:24
    #37058904
Bahrom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать переменную в PHP с помощью AJAX
Ребята,
...
Рейтинг: 0 / 0
14.01.2011, 13:26
    #37058908
Bahrom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать переменную в PHP с помощью AJAX
почему скрипт не работает
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<script type="text/javascript"> 
function ajx(){ 
var ajx = typeof window.external=='object' && typeof document.all=='object' 
?  new  ActiveXObject("Microsoft.XMLHTTP") 
:  new  XMLHttpRequest(); 
var q = "text="+document.getElementById('text').value; 
//alert(q)
ajx.open('post','ajax.php',true); 
ajx.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); 
ajx.send(q); 
//localion.href='ajax.php?text=1'
 return  false; 
} 
</script> 
Код: plaintext
1.
2.
3.
<form action="" onSubmit="return ajx()"> 
<input type="text" id="text" name="text"> 
<input type="submit" value="go"> 
</form> 
Код: plaintext
1.
2.
3.
<?php 
//ajx.php 
 echo  $_REQUEST['text']; 
?> 

Модератор: Тема перенесена из форума "Java".
...
Рейтинг: 0 / 0
14.01.2011, 16:54
    #37059470
androidx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать переменную в PHP с помощью AJAX
Bahrom, Попробуй так

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
function permennaja (){

var per = document.getElementById('per').value;
$.ajax({
		type: "POST",
		url: "ajax.php",
		data: "per="+per+"&section=permennaja",
		success: function(msg){
			document.getElementById("out_put").innerHTML=msg;
        }

  });
}
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<?
$znach = $_REQUEST['per'];

 if ($section=="permennaja"){
	

	
}

?>
...
Рейтинг: 0 / 0
14.01.2011, 17:32
    #37059599
Ренат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать переменную в PHP с помощью AJAX
androidx,

Ага и еще jQuery не забыть прикрутить...

Bahrom,

что значит скрипт не работает? Какая ошибка? как ты понял что он не работает. В глаза бросается то что нет обработчика принятых данных. Т.е. вполне вероятно скрипт выполняеться, только в браузере тебе об этом никто не скажет.
...
Рейтинг: 0 / 0
14.01.2011, 17:47
    #37059644
androidx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать переменную в PHP с помощью AJAX
Ренатandroidx,

Ага и еще jQuery не забыть прикрутить...

Bahrom,

что значит скрипт не работает? Какая ошибка? как ты понял что он не работает. В глаза бросается то что нет обработчика принятых данных. Т.е. вполне вероятно скрипт выполняеться, только в браузере тебе об этом никто не скажет.



Не надо там jQuery просто в <div id="out_put"></div> засунь все что тебе надо и будет тебе счастье
...
Рейтинг: 0 / 0
14.01.2011, 18:06
    #37059702
Ренат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать переменную в PHP с помощью AJAX
androidxНе надо там jQuery просто в <div id="out_put"></div> засунь все что тебе надо и будет тебе счастье
Код: plaintext
$.ajax({
?
...
Рейтинг: 0 / 0
15.01.2011, 13:37
    #37060336
Bahrom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать переменную в PHP с помощью AJAX
androidx , спасибо за пример очень помог, а как сделать так чтобы передавалась не вся страница, а только переменная?


Ренат,
авторBahrom,

что значит скрипт не работает? Какая ошибка? как ты понял что он не работает. В глаза бросается то что нет обработчика принятых данных. Т.е. вполне вероятно скрипт выполняеться, только в браузере тебе об этом никто не скажет. переменная
Код: plaintext
1.
2.
3.
<?php 
//ajx.php 
 echo  $_REQUEST['text']; 
?> 
не отображается , а ошибок никаких нет.
...
Рейтинг: 0 / 0
15.01.2011, 14:02
    #37060353
Ренат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать переменную в PHP с помощью AJAX
Bahromне отображается , а ошибок никаких нет.
Хорошо, перефразирую....
Где ты расчитываеть увидеть выполнение кода:
Код: plaintext
1.
2.
3.
<?php 
//ajx.php 
 echo  $_REQUEST['text']; 
?> 
...
Рейтинг: 0 / 0
15.01.2011, 14:03
    #37060354
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать переменную в PHP с помощью AJAX
Bahrom,

Как-нибудь так:
Код: plaintext
1.
2.
3.
4.
5.
6.
<?php
 if ( isset ($_REQUEST['text']){
    header ("Content-type:text/plain");
    echo  $_REQUEST['text'];
    exit ();
}
?>
...
Рейтинг: 0 / 0
15.01.2011, 14:24
    #37060375
Ренат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать переменную в PHP с помощью AJAX
ShSergeBahrom,

Как-нибудь так:
Код: plaintext
1.
2.
3.
4.
5.
6.
<?php
 if ( isset ($_REQUEST['text']){
    header ("Content-type:text/plain");
    echo  $_REQUEST['text'];
    exit ();
}
?>

У него как минимум отсутсвует обработчик ответов, так что что-либо в ответе не было - явно оно никак не повлияет на выполнение скрипта.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
request.onreadystatechange =  function (){
	 if  (ajx.readyState ==  4 ){
		clearTimeout(timeout);
		 if (request.status ==  200 ){
		...
		}
	}
}
}
Bahrom,

попробуйте чтоли эту функцию юзануть:
function
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
function ajax(params){
	var request = false;
	try {
		request = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
			request = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E) {
			request = false;
		}
	}
	if (!request && typeof XMLHttpRequest!='undefined') {
		request = new XMLHttpRequest();
	}

	if (request){
		if(params.type==undefined) params.type = 'json';
		request.onreadystatechange = function(){
			if (request.readyState ==  4 ){
				clearTimeout(timeout);
				if(request.status ==  200 ){
					document.getElementById('status_div').style.display = 'none';
					//Передаем управление обработчику пользователя
					switch(params.type){
						case 'json':
							//alert(request.responseText);
							params.onload(eval('('+request.responseText+')'));
						break;
						
						case 'html': case 'text':
							params.onload(request.responseText);
						break;
						
						case 'xml':
							params.onload(request.responseXML.childNodes[ 0 ]);
						break;
					}
				}else if(params.onerror!=undefined){
					document.getElementById('status_div').innerHTML = request.statusText;
					document.getElementById('status_div').style.display = 'block';
					params.onerror(request.statusText);
				}
			}
		}
		//Инициализируем соединение
		if(params.url.indexOf('?')==- 1 ) params.url+='?'+Math.random();
		if(params.data==undefined) params.data = null;
		params.method = (params.data==null?'GET':'POST');
		if(params.data=='[object Object]') params.data = JSONtoStr(params.data);
		request.open(params.method, params.url, true);
		//pr(params);
		request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
		//Посылаем запрос
		request.send(params.data);
		var timeout = setTimeout(function(){
			xmlhttp.abort();
			if(params.onerror!=undefined) params.onerror('Time out!');
		}, 10000 );
	}else if(params.onerror!=undefined){
		params.onerror('Update browser');
	}
}

Юзаетсья просто:
demo
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
	ajax({
		url:'ajax.php',
		type: 'text',
		data: {text: document.getElementById('text').value},
		onload:  function (node){
			alert(node);
		}
	});
...
Рейтинг: 0 / 0
15.01.2011, 14:26
    #37060378
Bahrom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать переменную в PHP с помощью AJAX
Ренат,объясню на примере.
Код: plaintext
1.
2.
3.
<form action="" onSubmit="return ajx()"> 
<input type="text" id="text" name="text"> 
<input type="submit" value="go"> 
</form> 
Есть форма на которой расположен текстовый элимент и кнопка.
Мне нужно чтобы когда пользователь щелкнул на кнопку страница не обновлялась, а в php передалась переменная текстового элимента(тега).
...
Рейтинг: 0 / 0
15.01.2011, 14:42
    #37060390
Ренат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать переменную в PHP с помощью AJAX
Bahrom,

Млин - такое ощющение разгвоариваю со стенкой.
3й раз уже спросил.

Ну вот смотри.

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

якак ты понял что он не работает. (имееться в виду как ты понял почему он не передаеться)
ты<?php
//ajx.php
echo $_REQUEST['text'];
?>
яГде ты расчитываеть увидеть выполнение этого кода?


зы. Повторюсь еще раз, а то вдруг ты и это это не прочтешь: Где ты расчитываеть увидеть выполнение этого кода?
...
Рейтинг: 0 / 0
15.01.2011, 14:57
    #37060408
Bahrom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать переменную в PHP с помощью AJAX
Ренат,

В этой же странице...
под формой
...
Рейтинг: 0 / 0
15.01.2011, 15:14
    #37060438
Ренат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать переменную в PHP с помощью AJAX
BahromРенат,

В этой же странице...
под формой
Миссия: найти отличия от своей версии
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<script type="text/javascript"> 
function ajx(){ 
	var ajx = typeof window.external=='object' && typeof document.all=='object' 
	? new ActiveXObject("Microsoft.XMLHTTP") 
	: new XMLHttpRequest(); 
	var q = "text="+document.getElementById('text').value; 
	ajx.onreadystatechange = function(){
		if (ajx.readyState ==  4 ){
			if(ajx.status ==  200 ){
				document.getElementById('res').innerHTML = request.responseText;
			}else{
				alert('Statys: '+ajx.status);
			}
		}
	}
	ajx.open('post','ajax.php',true); 
	ajx.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); 
	ajx.send(q); 
	return false; 
} 
</script>
</head>
<body>
<form action="" onSubmit="return ajx()"> 
<input type="text" id="text" name="text"> 
<input type="submit" value="go"> 
</form> 
<pre id="res"></pre>
</body>
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
28.12.2012, 02:19
    #38095631
Витёкк
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать переменную в PHP с помощью AJAX
А как отправить переменную, скажем, полученную без участия пользователя (инфа о браузере, часовой пояс и так далее)? То есть нету кнопки и формы. Переменная определяется сама и автоматически отправляется на обработку php файлом. Как это сделать?
...
Рейтинг: 0 / 0
28.12.2012, 03:18
    #38095641
Edd.Dragon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать переменную в PHP с помощью AJAX
Выучить html
Выучить js
Почитать об объекте XmlHttpRequest или воспользоваться функциями отправки запросов в любимом фреймворке.
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Как передать переменную в PHP с помощью AJAX / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]