Не получается получить обратно с сервера ajax запрос.
Вот js
$(document).ready(function(){
$('#button').click(function(){
// alert ('ok');
var test = 5;
$.ajax({
type: "POST",
url: "test.php",
data: test,
success: function(data){
$('#result').html(test);
},
error: function() {
alert( "Data not Saved" );
}
});
});
});
и это test.php
<?php
header('Content-Type: text/html; charset=utf-8');
if($_POST['test']) {
$x = '<p>проверка связи)</p>';
}
php скрипт вообще не реагирует на условие if($_POST['test']). Во всех случаях возвращает значение переменной test (5).
Кто нибудь может объяснить как должен происходить возврат с сервера обработанного ответа. Или просто html получить.
Или же провести манипуляию с переменной $_POST['test'], а потом обратно в #result вернуть.
Что нужно записывать в html(). Как завершать php скрипт.
Подсказку может дадите где искать.
Заранее балгодарен.
Спустя 2 минуты, 57 секунд (11.03.2011 - 15:38) Michael написал(а):
data: {test : test}
if(isset($_POST['test']))
Спустя 16 минут, 9 секунд (11.03.2011 - 15:54) SoMeOnE написал(а):
Michael
С if($_POST['test']) я погорячился )
Заменил на
а в js
Но вся равно ничего не возвращает
Только html(test) в любом случае возвращает 5.
Как можно html вернуть? в #result
С if($_POST['test']) я погорячился )
Заменил на
<?php
header('Content-Type: text/html; charset=utf-8');
if(isset($_POST['test'])) {
$x = '<p>проверка связи)</p>';
return $x;
}
else {
$x = '<p>нет связи</p>';
return $x;
}
а в js
success: function(data){
$('#result').html();
}
Но вся равно ничего не возвращает
Только html(test) в любом случае возвращает 5.
Как можно html вернуть? в #result
Спустя 13 секунд (11.03.2011 - 15:54) Snus написал(а):
и $('#result').html(test); замени на $('#result').html(data);
Спустя 22 минуты, 23 секунды (11.03.2011 - 16:17) SoMeOnE написал(а):
Цитата (Snus @ 11.03.2011 - 12:54) |
и $('#result').html(test); замени на $('#result').html(data); |
Не работает по прежнему. Ничего не возвращает.
Спустя 11 минут, 44 секунды (11.03.2011 - 16:28) Snus написал(а):
А где у тебя div id="result"?
Спустя 12 минут, 9 секунд (11.03.2011 - 16:40) SoMeOnE написал(а):
Цитата (Snus @ 11.03.2011 - 13:28) |
А где у тебя div id="result"? |
в html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="http://md/salam/test_ajax/jquery-1.4.2.min.js" type="text/javascript"></script>
<script src="http://md/salam/test_ajax/test.js" type="text/javascript"></script>
</head>
<body>
<div>
<p id="button"> button </p>
</div>
<div id="result">
</div>
</body>
</html>
Спустя 4 минуты, 22 секунды (11.03.2011 - 16:45) SoMeOnE написал(а):
По header не могу определить вообще уходит, что то в скрипт или нет.
POST test.php
Это нормально?
POST test.php
Response Headersview source
Date Fri, 11 Mar 2011 13:42:43 GMT
Server Apache/2.0.63 (Win32) PHP/5.2.5
X-Powered-By PHP/5.2.5
Content-Length 0
Keep-Alive timeout=15, max=98
Connection Keep-Alive
Content-Type text/html; charset=utf-8
Request Headersview source
Host md
User-Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.15) Gecko/20110303 Firefox/3.6.15
Accept */*
Accept-Language en-us,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 http://md/salam/test_ajax/ajax.php
Content-Length 6
Cookie PHPSESSID=5lp1k6b18qgcs1gke1ar28okd6
Pragma no-cache
Cache-Control no-cache
Это нормально?
Спустя 2 часа, 32 минуты, 1 секунда (11.03.2011 - 19:17) SoMeOnE написал(а):
Никто не подскажет в чем проблема?
Спустя 33 минуты, 26 секунд (11.03.2011 - 19:50) alex12060 написал(а):
$(document).ready(function(){
$('#button').click(function(){
var test = 5;
$.ajax({
type: "POST",
url: "test.php",
data: "test="+test,
success: function(data){
$('#result').html(data);
},
error: function() {
alert( "Data not Saved" );
}
});
});
});
<?php
header('Content-Type: text/html; charset=utf-8');
if(isset($_POST['test'])) {
echo '<p>проверка связи)</p>';
}
else {
echo '<p>нет связи</p>';
}
Спустя 4 часа, 19 минут, 19 секунд (12.03.2011 - 00:10) SoMeOnE написал(а):
alex12060
Спасибо.
Спасибо.
Спустя 43 минуты, 52 секунды (12.03.2011 - 00:53) Trianon написал(а):
Цитата (SoMeOnE @ 11.03.2011 - 15:54) |
Michael С if($_POST['test']) я погорячился ) Заменил на <?php а в js success: function(data){ Но вся равно ничего не возвращает Только html(test) в любом случае возвращает 5. Как можно html вернуть? в #result |
не return $x;
а echo $x;
Спустя 3 минуты, 10 секунд (12.03.2011 - 00:57) SoMeOnE написал(а):
Trianon
Еще раз спасибо.
Вроде бы разобрался.
Еще раз спасибо.
Вроде бы разобрался.
Спустя 3 минуты, 31 секунда (12.03.2011 - 01:00) SoMeOnE написал(а):
Trianon
А если обрабатывать в функции, return сработает?
А если обрабатывать в функции, return сработает?
Спустя 2 минуты, 40 секунд (12.03.2011 - 01:03) Trianon написал(а):
Не понял.
Спустя 7 минут, 53 секунды (12.03.2011 - 01:11) SoMeOnE написал(а):
Trianon
Можно вообще передать обработку запроса не целому скрипту controller.php, а функции внутри него напрямую?
Если нет, то наверное внутри я смогу перенаправить обработку в какую нибудь функцию, что бы она обновила базу данных. После захочу вернуть ответ обратно в браузер в конце функции тоже надо писать echo . Или return.
Извините если мои вопросы неккоректны изначально по формулировке.
Можно вообще передать обработку запроса не целому скрипту controller.php, а функции внутри него напрямую?
Если нет, то наверное внутри я смогу перенаправить обработку в какую нибудь функцию, что бы она обновила базу данных. После захочу вернуть ответ обратно в браузер в конце функции тоже надо писать echo . Или return.
Извините если мои вопросы неккоректны изначально по формулировке.
Спустя 5 минут, 34 секунды (12.03.2011 - 01:16) Trianon написал(а):
Запрос издает клиент (браузер).
Запрос обрабатывает и отклик формирует сервер (apache+php)
Браузер, формируя запрос, указывает не функцию, и даже не скрипт.
Браузер указывает URL.
http-сервер (apache) по этому URL определяет, задействовать ли php, а если да, то по какому именно скрипту. И только потом дело доходит до функций, классов и т.п.
Каакие именно из функций будут вызваны - непринципиально.
Принципиально то, что php должен сгенерировать отклик (заголовок и тело) и отправить его назад в браузер.
Запрос обрабатывает и отклик формирует сервер (apache+php)
Браузер, формируя запрос, указывает не функцию, и даже не скрипт.
Браузер указывает URL.
http-сервер (apache) по этому URL определяет, задействовать ли php, а если да, то по какому именно скрипту. И только потом дело доходит до функций, классов и т.п.
Каакие именно из функций будут вызваны - непринципиально.
Принципиально то, что php должен сгенерировать отклик (заголовок и тело) и отправить его назад в браузер.
Спустя 18 минут, 54 секунды (12.03.2011 - 01:35) SoMeOnE написал(а):
Trianon
Ну допустим когда я работаю только в php и обращаюсь к классам, функциям этих классов, в самой функции я всю сформированную переменную (допустим $article),
которая содержит в себе: заголовок, краткий текст и тд. (массив впринципе). В конце функции возвращаю
И после через другой класс я могу ее вызывать. Любые ее значения.
Можно ли так работать с ajax запросом.
Или же в этом случае в конце функции надо выывести через
вывести все, что мне нужно?
Учитывая Ваше последнее предложения я так понел в любом случае в конце концов нужно все генерировать через echo. Я правильно понел.
Ну допустим когда я работаю только в php и обращаюсь к классам, функциям этих классов, в самой функции я всю сформированную переменную (допустим $article),
которая содержит в себе: заголовок, краткий текст и тд. (массив впринципе). В конце функции возвращаю
return $article
И после через другой класс я могу ее вызывать. Любые ее значения.
Можно ли так работать с ajax запросом.
Или же в этом случае в конце функции надо выывести через
echo '....'
вывести все, что мне нужно?
Учитывая Ваше последнее предложения я так понел в любом случае в конце концов нужно все генерировать через echo. Я правильно понел.
Спустя 10 минут, 42 секунды (12.03.2011 - 01:46) Trianon написал(а):
функции и объекты JS - это функции и объекты JS
функции и классы php - это функции и классы php
JS и php исполняются независимо друг от друга и на разных машинах.
И друг о друге (тем более о функциях, объектах, классах) сами по себе ничего не знают.
функции и классы php - это функции и классы php
JS и php исполняются независимо друг от друга и на разных машинах.
И друг о друге (тем более о функциях, объектах, классах) сами по себе ничего не знают.
Спустя 7 часов, 4 минуты, 22 секунды (12.03.2011 - 08:50) SoMeOnE написал(а):
Trianon
Все. теперь ясно. Спасибо.
Все. теперь ясно. Спасибо.
Спустя 11 дней, 7 часов, 1 минута, 50 секунд (23.03.2011 - 15:52) rammlied написал(а):
в хроме если включить просмотре кодов элементов пишет что файл text.php undefined? кто нибудь знает что за проблема?