@Erik2121

Как сделать обработку AJAX на этой же странице?

Добрый день, есть форма:
<!DOCTYPE html>
<html>
<head>
	<title>title</title>
	<script src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
	<script type="text/javascript" src="ajax.js"></script>
</head>
<body>
	<form method="POST" action="" onsubmit="return false">
		<textarea name="texts" cols="60" rows="7" id="texts"></textarea><br><br>
		<input type="submit" name="sub" id="sub">
	</form>
	<div id="print">
	</div>
</body>
</html>


И есть ajax.js
$(function(){
			$("#sub").click(function(){
				var texts = document.getElementById("texts").value;
				$.ajax({
					url: 'ajax.php',
					type: 'POST',
					data: {texts: texts},
					success: function(data){
						$("#print").html(data);
					}
				});
			});
		});


и ещё есть ajax.php

<?php 
	$name = $_POST['texts'];
	echo $name;
?>


Я хочу чтобы не ajax.php обрабатывал страницу, а index.php пишу в url: './' и ничего не работает, у меня выводит форму ещё раз. Подскажите пожалуйста, в чём ошибка и как её исправить?
  • Вопрос задан
  • 1219 просмотров
Пригласить эксперта
Ответы на вопрос 1
@evgeniy_trebin
Ruby on Rails developer
Можно сделать такую проверку
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
{
  $name = $_POST['texts'];
  echo $name;
}
else {
 //index code
}


Можно добавить в url '?context=ajax' и потом проверять в скрипте
if(isset($_GET['context']))
{
     if($_GET['context'] == 'ajax')
     /*....*/
}


а можно и то и другое)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы