dssj88098 2017-02-16 23:53
浏览 17
已采纳

如何从控制器返回一个php值来查看,通过AJAX请求路由?

This is my ajax function in view calling the controller.

<script type="text/javascript">
    $(document).ready(function() {
        $.ajax({
            type: "get",
            url: '/rooms/{{ $roomtype->type_id }}',
            data: "",
            success: function(data) {
                console.log(data);
                //var str = "<option value="+data+">"+data+"</option>";
                //console.log(str);
                //$( "select" ).append(  str  );
                //$( ".inner" ).append( str );
            }
        })
    });
</script>

This is my controller function being called by my ajax from view

public function numberOfRooms($type_id, Request $request) {
    $room_model = new room;
    // $request->session()->forget('no_rooms');
    //$request->session()->regenerate();
    $no_rooms = $room_model - > where('type_id', '=', $type_id) - > get() - > count();
    //$request->session()->put('no_rooms', $no_rooms);
    return back() - > with($no_rooms);
}

I want the variable to be returned here inside a drop down :

<select class="inner right-align">
    <option value="" disabled selected>Choose your option</option>  
    <option>{{ $no_rooms }}</option>             
</select>
  • 写回答

3条回答 默认 最新

  • dtrz17917 2017-02-17 02:32
    关注

    Check your code, there are several things you have to keep in mind

    In controller, return a array with the information

    public function numberOfRooms(Request $request, $type_id)
    {
        $room_model = new room;
        $no_rooms = $room_model->where('type_id', '=', $type_id)->get()->count();
        return [ 'rooms' => $no_rooms];
    }
    

    in HTML, add csrf token

    <html>
        <head>
            ...
            <meta name="csrf-token" content="{{ csrf_token() }}" />
            ...
    

    define a selector:

    <select id="your-selector" class="inner right-align">
        <option value="" disabled selected>Choose your option</option>  
    </select>
    

    in JS

    $(document).ready(function(){
        $.ajaxSetup({
            headers : {
                'X-CSRF-TOKEN' : $('meta[name="csrf-token"]').attr('content')
            },
        });
        function loadRoom(){
            $.ajax({
                type: "get",
                url: '/rooms/{{ $roomtype->type_id }}',
                data: "",
                success: function(data) {
                    for (room in data.rooms) {
                        $('#your-selector').append($('<option>', {
                            value: room.id,
                            text: room.name
                        }));
                    }
                }
            })
        }
    
        loadRoom();
    });
    

    I hope it works good luck

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 BV260Y用MQTT向阿里云发布主题消息一直错误
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序