【问题标题】:Laravel 5 - Return array to viewLaravel 5 - 返回数组以查看
【发布时间】:2016-08-09 08:44:10
【问题描述】:

我正在我的视图中对一些已注册的视频进行简单搜索,此搜索返回可通过表单上的帖子搜索到的视频。

问题发生在返回数据时,它没有用传递给视图的数组更新页面。

这是我的表格:

<form action="{{ URL::to("/search-video") }}" method="POST" accept-charset="utf-8" class="formSend BuscarVideoSend" id="form-busca-video">

    <div class="col l10">

        <input placeholder="Searchvídeo" name="Name" type="text" class="validate input-white Name valid">    
    </div>
    <div class="col l2">
        <button type="submit" class="btnSend" > Search</button> 
    </div>

</form>

控制器:

public function searchVideo(Request $request){
    $data = $request->all();

    $videos = TbVideoModel::where(
        'nm_video', 
        'LIKE', 
        '%'.$data['Name'].'%'
    )->get();


    return view('layouts.videos', compact('videos', $videos));
}

要返回的 HTML:

<section id="videoMosaic">
    <div class="row "> 
        <ul>

            @if(isset($videos))
                @foreach($videos as $video)
                <li>
                    <a class="bla-1" href="{{$video->ds_link}}">
                        <div class="div-imagem-texto">
                            <img src="http://img.youtube.com/vi/{{$video['ds_imagem_video']}}/0.jpg" alt="">
                            <div class="texto-sobre-imagem">
                                <img src="/images/play.png" alt="" class="play">
                                {{$video->nm_video}}
                                <p>{{$video->tx_video}}</p>

                            </div>                        
                        </div>
                    </a> 
                </li>
                @endforeach
            @endif
        </ul>

    </div>
</section>

它在控制台 xhr 上正确返回数据,但它有这个错误:

Uncaught SyntaxError: Unexpected token <

要使用搜索数据更新页面需要什么?提示

【问题讨论】:

  • XHR 的响应是什么?看起来那里有无效的 JS(ON)。
  • @Rudie xhr 包含页面应显示的内容
  • 在哪一行出现语法错误。

标签: php html laravel laravel-5 blade


【解决方案1】:

您的compact 函数中有错误:

return view('layouts.videos', compact('videos'));

PHP Docs on compact()

【讨论】:

  • 谢谢你的回答,但不仅是哪里出了问题,问题依然存在。
  • @let 尝试在您的 return 语句之前运行 dd($videos) 以查看数据是否从数据库正确加载。
  • 谢谢大家,错误实际上是在ajax中。在表单中它有一些类来制作 ajax,但是对于这篇文章没有使用并且它引起了冲突。一旦我删除了带有 ajax 调用的类并像@Dov 说的那样修改了 compact () 函数,就可以正常工作了。
猜你喜欢
  • 2018-06-24
  • 2018-11-12
  • 2019-03-26
  • 1970-01-01
  • 1970-01-01
  • 2015-12-27
  • 2015-08-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多