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 回调中,您应该将视图结果放在页面上的某个容器中,即:&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();

【讨论】:

以上是关于laravel 中的搜索功能不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Google地图商店定位器在laravel项目中不起作用

添加 select2 插件以选择选项后。 Laravel Livewire 搜索不起作用

Laravel 快速入门指南路线不起作用

当我更改路线时,Laravel ajax 搜索不起作用

laravel 更新在登录功能中不起作用

Laravel注销功能不起作用