laravel 中的搜索功能不起作用
Posted
技术标签:
【中文标题】laravel 中的搜索功能不起作用【英文标题】:search function in laravel wont work 【发布时间】:2017-01-21 18:29:02 【问题描述】:我在导航文件中有这个搜索栏,它是一个输入提交输入标签。
我在许多页面中都包含此文件。但是当我输入(提交)它不会去 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()
);
);
我的控制器
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');
【问题讨论】:
表格在哪里? 你认为只是缺少表单标签吗? 没有表单如何将数据提交到您请求的文件? 如果您不发布数据,只需将Route::post('search', 'UserController@multiSearch');
POST 路由更改为此获取一个并尝试Route::get('search', 'UserController@multiSearch');
谢谢,去试试
【参考方案1】:
首先,在您的 ajax 回调中,您应该将视图结果放在页面上的某个容器中,即:<div id="search-result"></div>
通过添加此回调函数:
success: function(data)
$('#search-reasult').html(data);
您还必须像这样在控制器中呈现视图:
return View::make('content.searchResults',array('getResults'=>$getResults))
->render();
【讨论】:
以上是关于laravel 中的搜索功能不起作用的主要内容,如果未能解决你的问题,请参考以下文章