我在导航文件中有这个搜索栏,它是一个 enter submit 输入标签。
我在很多页面中都包含了这个文件。但是当我输入(提交)时,它不会转到 searchResults.blade.php
我的 HTML
<input class="searchkey" id="searchkey" type="search" required onkeydown="search(this)">
我的JS
$('.searchkey').keydown(function(event) {
var getKeyword = document.getElementById("searchkey").value;
if (event.keyCode == 13) {
$.ajax({
url: "search",
type: "POST",
data:{
getKeyword : getKeyword
},
success: function() {}
});
}
});
我的 Controller
public function multiSearch()
{
$searchKey = Input::get('getKeyword');
$getResults = array();
$getResults = DB::select("SELECT title FROM books WHERE title LIKE '%$searchKey%'");
return View::make('content.searchResults',array('getResults'=>$getResults));
}
我的路线
Route::post('search', 'UserController@multiSearch');
最佳答案
首先,在您的 ajax 回调中,您应该将 View 结果放在页面上的某个容器中,即:<div id="search-result"></div>
通过添加此回调函数:
success: function(data) {
$('#search-reasult').html(data);
}
您还必须像这样在 Controller 中呈现 View :
return View::make('content.searchResults',array('getResults'=>$getResults))
->render();
关于javascript - laravel 中的搜索功能无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39482144/