在Laravel 5中如何通过URL传递数据集?

3

我希望通过 Laravel URL 传递数据集。这是我的代码。首先,我将我的数据集传递给 JavaScript,然后调用 URL。

JavaScript 代码:

<script type="text/javascript">
    function divClick(roomState, roomCode){
        //  Your code here
        //window.alert(roomCode); //print_output well



        //value_url out put as following
        //room_detail/{"id":"24","room_code":"H5016","roomState":"UnAvailable","hotelId":"5","roomTypeId":"7","created_at":"-0001-11-30 00:00:00","updated_at":"2015-11-04 06:52:09"}



        //call new page
        window.location.href ="{{url('room_detail/roomCode')}}";

    }
</script>

routes.php文件代码

Route::any('room_detail/{roomDetail}', function() {

    return view('pages/room_details/roomMap/single_room_map_detail',  compact('roomDetail'));
});

我使用这段代码来打印传递的值。

========view.blade.php========================================

  <section class="content">
    <div class="row">
        <div class="box box-warning">
            <div class="gap">
                <div class="box-body">
                     {!! $roomDetail !!}
                </div><!-- /.box -->
            </div><!-- /.box -->

        </div><!-- /.row -->
    </div>
</section><!-- /.content -->

当视图被渲染时,我会收到这个错误:

Undefined variable: roomDetail

期望一些专家的帮助,通过 URL 传递此数据集。

1个回答

3
您的路由应该像这样(注意函数调用中的变量):
Route::any('room_detail/{roomDetail}', function($roomDetail) {

    return view('pages/room_details/roomMap/single_room_map_detail',  compact('roomDetail'));
});

另外您需要正确地将变量传递到URL中,像这样:

window.location.href = "{{url('room_detail')}}" + "/" + roomCode; // maybe you can discard the slash after room_detail.

将这行代码更改为:window.location.href ="{{url('room_detail/')}} + value_url"; 如果需要使用JSON格式,您还需要对变量进行json_decode处理。 - Tim
当更改那段代码时,会出现严重错误。d876d71ce4337316eaa0aefc503f4ddd第60行的ErrorException:使用未定义的常量value_url - 假定'value_url'。 - uma
现在的URL是这样的:http://hotel.com/room_detail%20+%20value_url,但是会出现页面未找到的异常。 - uma
你需要将引号“放在PHP调用之后,而不是在value_url的末尾,否则变量无法被Javascript读取。 - Tim
谢谢,我更改了代码 ** window.location.href = "{{url('room_detail')}}" +"/" + roomCode;** 现在详情已经成功传递。 - uma
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接