Я хотел бы иметь следующее:
Пользователь отправляет форму кликом ( 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);