Laravel ajax不会返回数据

时间:2018-01-19 07:16:49

标签: php jquery ajax laravel

我正在尝试使用Laravel中的ajax创建帖子。 Ajax显然有效,但在调用控制器时,它没有任何数据。

url: $(this).data("route"),

有一个网址,效果很好。

var opciones = $("[name=cargaYDescarga]").bootstrapSwitch('state');

返回false或true。我认为这种数据类型没有问题。我需要将这些数据返回给控制器并执行SQL或其他操作。

$('[data-click="state"]').on('switchChange.bootstrapSwitch', function () {
        var opciones = $("[name=cargaYDescarga]").bootstrapSwitch('state');
        console.log(opciones);
        $.ajax({
            headers: {
                'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
            },
            url: $(this).data("route"),
            type: 'POST',
            data: {opcion: opciones}
        })
    });

    //Controller

    public function opcion(Request $request)
      {
         dd($request->input('opcion'));
      }

所以,问题是:我的代码中有错误吗? Ajax不能直接传递true / false,我需要转换成字符串吗?

1 个答案:

答案 0 :(得分:0)

我找到了答案,在我的案例中,ajax中的文字opcion需要是'opcion'。看代码。

$('[data-click="state"]').on('switchChange.bootstrapSwitch', function () {
            var opciones = $("[name=cargaYDescarga]").bootstrapSwitch('state');
            console.log(opciones);
            $.ajax({
                headers: {
                    'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                },
                url: $(this).data("route"),
                type: 'POST',
                data: {'opcion': opciones}
            })
        });