【问题标题】:search function in laravel wont worklaravel 中的搜索功能不起作用
【发布时间】: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');
  • 谢谢,去试试

标签: javascript mysql ajax laravel laravel-4


【解决方案1】:

首先,在您的 ajax 回调中,您应该将视图结果放在页面上的某个容器中,即:&lt;div id="search-result"&gt;&lt;/div&gt; 通过添加此回调函数:

success: function(data) {
    $('#search-reasult').html(data);
}

您还必须像这样在控制器中呈现视图:

return View::make('content.searchResults',array('getResults'=>$getResults))
    ->render();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-27
    相关资源
    最近更新 更多