如何在Laravel中使用jQuery显示从Controller传递到View的数据

时间:2015-04-04 08:51:19

标签: php jquery laravel view controller

我正在尝试显示从控制器传递到刀片的数据,并在我的视图页面中使用它操作某些内容。但我可以看到我的数据在我的控制台中正确传递,但我没有在我的视图文件中获取它。 我使用的是Laravel 4

控制器:

public function addRow()
{
    if(Request::ajax()){
        $row = Input::all();        
    }
    return View::make('add-stock')
        ->with('rows', $row);
}

查看:

@if( !empty($rows) )
    @foreach($rows as $row)
        {{ $row[0]  }}
    @endforeach
@endif

路线:

Route::post('add-stock/row','StockController@addRow');

jQuery:

<script>
    $(document).ready(function(){

        $('.rowForm').click(function(e){
            e.preventDefault();

            var rowVal = $('input[name=row]').val();

            //ajax post
            $.post('add-stock/row', {row:rowVal}, function(data){
                console.log(data);
            })
        })          


    })
</script>

2 个答案:

答案 0 :(得分:1)

我会喜欢这样的。 你的ajax功能........

public function addRow(){  

    $row = Input::all();

    return Response::json($row);
 }

然后你的JQuery ............

<script>
$(document).ready(function(){

    $('.rowForm').click(function(e){
        e.preventDefault();

        var rowVal = $('input[name=row]').val();

        //ajax post
        $.get('/add-stock/row?rowVal =' +rowVal , function(data){
            console.log(data);
             $('#rowVal ').empty();
        $.each(data,function(index,subcatObj)
        {
            $('#rowVal ').append('<option value="'+subcatObj.value+'">'+subcatObj.value+'</option>');
        })
        })
    })          


})

这里是#rowVal div或select属性

并且atlast ...........路线文件

Route::get('add-stock/row','StockController@addRow');

顺便说一下,你没有指定从哪里调用JQuery

答案 1 :(得分:0)

您可以使用JSON内容类型返回响应。幸运的是,Laravel为此提供了一个工具。你可以做这件事

if(Request::ajax()){
        return Response::json(Input::all()); 
}

了解更多信息:http://laravel.com/docs/4.2/responses#special-responses