Laravel 5.1 - 将变量从ajax传递给我的控制器

时间:2016-06-21 20:38:31

标签: javascript jquery ajax laravel

我有一个带有ajax的评论列表,但它不起作用:

CommentList.js

 $(document).ready(function(){

        var tablaDatos = $("#comentos");
        var dato2= $("#article_id").val();
        var route = "http://localhost:8000/commentList/"+dato2;

        $.get(route, function(res){

            $(res).each(function(key,value){
                tablaDatos.append(value);

            });
        });

    });

article.blade.php

@foreach($comments as $comment)
    <li id="comentos">
       <input type="hidden" name="article_id" id="article_id" value="{{$article->id}}">
   </li>
@endforeach

FrontController.php

public function listing($id)
    {
        // store the comments list
        $list = [];

        // retrieve comments
        $article = Article::where('article_id', $id)->first();
        $comments = Comment::where('article_id', $article->id)->get();

        // render each comment and store it
        foreach ($comments as $comment) {
            $html = view('layouts.comment-template')
                ->with('comment', $comment)
                ->render();

            $list[] = $html;
        }

        // return a JSON array of the comments list
        return response()->json($list);

    }
  

我通过&#34; $ article&#34;我的观点&#34; article.blade.php&#34;,所以&#34; $ article-&gt; id&#34;工作得很好

我认为问题是$ article-&gt; id输入没有传递给我的控制器,可能是commentList.js的问题(错误的路由?)

路线

Route::get('commentList/{id}','FrontController@listing');

有一种传递我的变量ID的最佳方法吗?

1 个答案:

答案 0 :(得分:0)

哦,我检查我的控制台,错误是Article :: where('article_id',$ id),正确的是Article :: where('id',$ id)。