我已经为我的网站博客文章构建了一个小型搜索引擎,我正在使用 Ajax 提交表单,然后返回结果并用新的搜索结果替换旧内容,问题是如果我搜索一次它可以工作,但如果我再次搜索它只显示第一次搜索的结果。任何帮助都会非常感谢!
HTML
<form action="handlers/handler-search.php" class="align-right" method="post">
<input type="text" name="term" placeholder="Search app reviews...">
<input type="submit" value="Go">
</form>
jQuery 阿贾克斯
$('form').submit(function (event) {
event.preventDefault();
$(".content").fadeOut(750);
$.ajax({
type: "POST",
url : $('form').attr('action'),
dataType: "json",
data: $("form").serialize()
}).done(function(data) {
var string = "";
$.each(data, function(i,item) {
string += "<section class='widget six'> \
<a href='index.php?art_id="+item.art_id+"'> \
<div class='content'> \
<h1>"+item.art_title+"</h1> \
</div> \
</a> \
</section>";
});
$('.results').replaceWith(string);
$(".content").fadeIn(750);
});
return false;
});
PHP/SQL
if(isset($_POST['term'])) {
$statement_search = $db->prepare("SELECT * FROM app_articles WHERE art_title LIKE :term");
$statement_search->setFetchMode(PDO::FETCH_ASSOC);
$statement_search->execute(array(':term' => '%'.$_POST['term'].'%'));
$data = $statement_search->fetchAll();
echo json_encode($data);
}