Laravel中带有控制器的模态

时间:2017-02-27 02:22:41

标签: html ajax laravel modal-dialog

嘿朋友我正在创建一个简单的模式来向我展示提供者的数据,老实说,我花了很多钱;有人可以帮我一把吗?

模态:

<div class="modal fade" id="myModal" tabindex="-1" role="dialog"
     aria-labelledby="myModal">
    <div class="modal-dialog"
         role="document">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
                            aria-hidden="true">&times;</span></button>
                <h4 class="modal-title" id="myModal">Detalle del Proveedor: </h4>
            </div>
            <div class="modal-body">

                <div class="table-responsive">
                    <table class="table table-stripped table-bordered table-hover" id="table-detalle-proveedores">
                        <thead>
                        <tr>
                            <th>Nombre</th>
                            <th>Apellido</th>
                            <th>Telefono</th>
                            <th>Email</th>
                            <th>Dirección</th>
                        </tr>
                        </thead>
                        <tbody>

                        </tbody>
                    </table>
                </div>

            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
            </div>
        </div>
    </div>
</div>
莫代尔模式

<a href="" class="btn btn-primary btn-detalle-proveedores" data-id="{{ $proveedores->id }}"
   data-path="{{ route('admin.proveedores.item') }}" data-toggle="modal"
   data-target="#myModal"
   data-token="{{ csrf_token() }}">
    <i class="fa fa-external-link"></i>
</a>

路线

Route::post('admin/proveedores/item', [
    'as'   => 'admin.proveedores.item',
    'uses' => 'ProveedoresController@Item']);

控制器的功能

public function item(Request $request)
{
    $items = Proveedores::select($request->id);

    return json_encode($items);
}

main.js1 main.js2

我正在测试那个和其他人,但我得到的最大值是在控制台中向我显示一个空对象

1 个答案:

答案 0 :(得分:1)

首先,在您的javascript中,您将ID作为proveedores_id传递,但在您的控制器中,您尝试使用$request->id访问该ID。

查看https://laracasts.com/series/laravel-from-scratch-2017/episodes/8

可能是个主意

其次,仅使用select,您只需要返回Builder的json编码版本。

要获得实际返回Proveedores实例的请求,您可以执行以下操作:

public function item(Request $request)
{
    $item = Proveedores::findOrFail($request->id);

    return compact('item');
}

这也意味着您可以删除成功方法中的for循环,只需使用response.item.*访问数据,例如

function (response) {

    console.log(response)

    table.html('')

    var fila = "<tr>" +
            "<td>" + response.item.name + "</td>" +
            "<td>" + response.item.last_name + "</td>" +
            "<td>" + response.item.tel + "</td>" +
            "<td>" + response.item.address + "</td>" +
            "</tr>";

    table.append(fila);

}

希望这有帮助!