首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >remote与Laravel 4-个人作品工作,我认为,但不是一起工作。

remote与Laravel 4-个人作品工作,我认为,但不是一起工作。
EN

Stack Overflow用户
提问于 2014-01-02 16:08:02
回答 3查看 1.7K关注 0票数 2

我对Laravel和PHP比较熟悉。我是通过文档和Google学习Laravel的。我在这里找到的每一个打字/拉拉的问题我都点击过,但我似乎找不到一个非常合适的例子。This question离我们很近。其实我看不出有什么明显的差别。但话又说回来,那个行动在遥控器上也有问题。

我想我已经很接近了,因为我的各种作品似乎都是独立的。让我解释一下..。

我有个表格..。

代码语言:javascript
复制
<div class="input-group form-group" id="ingredients">
    {{ Form::label('ingredients', 'Ingredients') }}
    {{ Form::text('ingredients[]', null, array(
        'class' => 'form-control typeahead',
        'data-provide' => 'typeahead',
        'data-items' => '10',
        'id' => 'ingredients')
    ) }}
</div>

..。用剧本..。

代码语言:javascript
复制
<script>
    $('.typeahead').typeahead([
        {
            name: 'ingredients',
            remote: '/recipe/create/%QUERY'
        }
    ]);
</script>

remote:指出这条路线

Route::get('recipe/create/{query}', 'SearchController@searchIngredients');

指向这个控制器方法..。

代码语言:javascript
复制
public function searchIngredients($query)
{
    $data = array();
    $results = Ingredient::select ('name')->where('name', 'LIKE', '%' . $query . '%')->get();
    foreach ($results as $result) :
        $data[] = $result->name;
    endforeach;
    var_dump($data);
    return Response::json($data);
}

当我在表单中输入一些文本时,我确实看到了浏览器请求:

如果我直接导航到远程URL,我确实看到了我的var_dump,正如我所期望的那样:

/recipe/create/s给我看

代码语言:javascript
复制
array(4) {
    [0] "Sugar"
    [1] "Cheese"
    [2] "Salt"
    [3] "rasins"
}

我显然遗漏了一些东西,我怀疑这很简单,尽管我可能也错了。当我开始在表单字段中输入时,没有下拉列表。

我认为我的控制器方法在输入时永远不会被调用,否则我会看到每个浏览器请求都是var_dump,对吗?

如果是这样的话,我是不是被脚本中的remote:部分打断了?

编辑

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-01-02 18:23:50

尝试将var_dump从控制器中取出-- typeahead期望使用有效的JSON作为响应。

票数 3
EN

Stack Overflow用户

发布于 2014-05-27 08:46:16

这将起作用并得到检验:

代码语言:javascript
复制
$data = array();

$results = Student::select ('id')->where('id', 'LIKE',$query . '%')->get();
foreach ($results as $result):
    $data[] = $result->id."";
endforeach;
return Response::json($data);
票数 1
EN

Stack Overflow用户

发布于 2014-10-06 18:21:01

顺便说一句,你本可以

代码语言:javascript
复制
$results = Ingredient::select ('name')->where('name', 'LIKE', '%' . $query . '%')->        

return Response::json($results);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20886845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档