【问题标题】:Laravel with jQuery autocomplete generating 500 errorLaravel 与 jQuery 自动完成生成 500 错误
【发布时间】:2015-10-07 10:30:56
【问题描述】:

我在尝试实现此代码 https://gist.github.com/imranismail/10200241 时遇到 500 错误,并且看不到我做错了什么。

查看

<div class="form-group">
    <label for="entity-name">Entity Name</label>
    <input type="text" class="form-control entity-name" name="entity-name" id="entity-name" placeholder="Entity Name">
</div>

...

$( ".entity-name" ).autocomplete({
    source: "index",
    minLength: 2,
    select: function(event, ui) {
        $('.entity-name').val(ui.item.value);
    entity}
});

路线

Route::get('index', 'PagesController@autocomplete');

控制器

public function autocomplete(){
    $term = Input::get('term');

    $results = array();

    $queries = DB::table('entity_records')
        ->where('entity_name', 'LIKE', '%'.$term.'%')
        ->take(5)->get();

    foreach ($queries as $query)
    {
        $results[] = [ 'id' => $query->id, 'value' => $query->entity_name ];
    }
    return Response::json($results);
}

【问题讨论】:

  • 您在日志文件中遇到什么错误?
  • [2015-07-17 23:29:26] local.ERROR: 异常 'Symfony\Component\Debug\Exception\FatalErrorException' 与消息 'Class 'App\Http\Controllers\Input' 不是在 /Users/neil/Sites/testsite/app/Http/Controllers/PagesController.php:35 中找到' 堆栈跟踪:#0 {main}

标签: php jquery laravel laravel-5


【解决方案1】:

在您的控制器顶部添加:

use Input;

【讨论】:

  • 这会告诉 PHP 在全局命名空间中寻找这个类,而不是你的控制器的命名空间
  • 你是对的。在您建议查看日志后,我添加了使用 Input;发现我需要添加使用响应,并使用 App\Http\Controllers\DB;也一样,现在它可以工作了。
猜你喜欢
  • 1970-01-01
  • 2016-02-13
  • 2013-04-24
  • 2011-05-31
  • 1970-01-01
  • 2013-09-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多