Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Аяксовый ответ (https://javascript.ru/forum/misc/62424-ayaksovyjj-otvet.html)

UhWhat 09.04.2016 15:54

Аяксовый ответ
 
Добрый день всем, подскажите плиз ответ слегка на глупый вопрос, а именно как Аяксовый ответ записать в глобальную переменную или может есть альтернатива этому, что бы получить аяксовый ответ, записать его и использовать данные ответа уже дальше в коде в других функциях? Желательно не вызывая функцию в которую нам нужно передать как раз ответ от аякса в Аяксе

Cuntmann 10.04.2016 20:25

index.php

<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>Тест</title>
<style>
body{
	font-family:Verdana,Helvetica;
	font-size:12px;
	color:#000;
	background-color:#fff;
	margin-top:200px;
}
input[type="button"]{
	cursor:pointer;
	margin:25px;
	display:block;
}
#result{
	padding:50px;
}
</style>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
var resp='';
$(document).ready(function(){
	$('#testVar').click(function(){
	  $('#result').html('<h2>Значение переменной resp на данный момент равно '+(resp||'"нет значения"')+'</h2>');
	});
	$('#sendReq').click(function(){
		$.ajax({
                url: "server.php",
                type: "POST",
                data: ({name:'xyz',surname:'qwerty'}),
                success: function(otvet){
					resp=otvet;
    $("#result").html('Получен ответ сервера и сохранен в глобальной переменной <b>resp</b>');
  }
               });
	});
});
</script>
</head>
<body>
<div id="result">Здесь появится "ответ сервера", который нужно сохранить</div>
<input type="button" id="sendReq" value="Отправить AJAX-запрос" />
<input type="button" id="testVar" value="Проверить значение глобальной переменной resp" />
</body>
</html>


server.php

<?php
$output='<br /><br />';
foreach($_POST as $key => $val){$output.="$key => $val<br />";}
/* для уникальности каждого ответа добавляем время */
echo $output.date("D M j G:i:s T Y");
?>


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