Представление PHP + jQuery + Ajax – результаты возврата на той же странице

Я хотел бы иметь следующее:

Пользователь отправляет форму кликом ( index.php ), ввод формы обрабатывается внешним файлом PHP ( search.php ), и результаты публикуются на исходной странице ( index.php ) в div.

Я уже собрал большую часть кода. Он отправляет форму на клик и отправляет ее в скрипт PHP.

Теперь мне нужно, чтобы результат PHP-скрипта возвращался к исходной странице ( index.php ).

Вот мой код:

 function submit() { $(function() { var id = "id"; var dataString = 'id=' + id; $.ajax({ type: "POST", url: "inc/search.php", data: dataString, success: function() { goToByScroll("result"); $('#result').html("<br><br><br><br><br><br><br><br><br><br>< div class='center'><img src='img/loader.gif' /></div>").hide().fadeIn(2500, function() { $('#result').html("Finished"); }); } }); return false; }); } на function submit() { $(function() { var id = "id"; var dataString = 'id=' + id; $.ajax({ type: "POST", url: "inc/search.php", data: dataString, success: function() { goToByScroll("result"); $('#result').html("<br><br><br><br><br><br><br><br><br><br>< div class='center'><img src='img/loader.gif' /></div>").hide().fadeIn(2500, function() { $('#result').html("Finished"); }); } }); return false; }); } в function submit() { $(function() { var id = "id"; var dataString = 'id=' + id; $.ajax({ type: "POST", url: "inc/search.php", data: dataString, success: function() { goToByScroll("result"); $('#result').html("<br><br><br><br><br><br><br><br><br><br>< div class='center'><img src='img/loader.gif' /></div>").hide().fadeIn(2500, function() { $('#result').html("Finished"); }); } }); return false; }); } в function submit() { $(function() { var id = "id"; var dataString = 'id=' + id; $.ajax({ type: "POST", url: "inc/search.php", data: dataString, success: function() { goToByScroll("result"); $('#result').html("<br><br><br><br><br><br><br><br><br><br>< div class='center'><img src='img/loader.gif' /></div>").hide().fadeIn(2500, function() { $('#result').html("Finished"); }); } }); return false; }); } 

Мой PHP-файл (для тестирования):

 <?php function safe($value) { htmlentities($value, ENT_QUOTES, 'utf-8'); return $value; } if (isset($_POST['id'])) { $id = safe($_POST['id']); echo ($id); } elseif (!isset($_POST['id'])) { header('Location: error?id=notfound'); } ?> 

Я хотел бы получить результаты от search.php (в данном случае «id»), отправленные в #result, но я не могу понять, как: S

Я думаю, у тебя почти все. Функция обратного вызова, которой вы success требует аргумента, который означает результаты search.php

  success: function(res) { goToByScroll("result"); $('#result').html("<br><br><br><br><br><br><br><br><br><br><div class='center'><img src='img/loader.gif' /></div>").hide().fadeIn(2500, function() { $('#result').html(res + "<br /><br /> Finished"); }); } 

res – это все выводимое be search.php . Echo, материал вне php-тегов и т. Д. Все, что вы увидите, если вы загрузили сам search.php .

Я не знаю, хотите ли вы «Готово», чтобы все еще быть там. Вытащите его, если вы этого не сделаете.

Добавьте параметр к вашей функции успеха, например:

 success: function(param) { ... } 

Параметр – это строка, которая является ВСЕМ выходом вашего скрипта на стороне сервера. Вы можете установить это так, как хотите, и поместить его внутри какого-либо элемента

 $("#element").html(param);