【问题标题】:Laravel ajax doesn't return dataLaravel ajax 不返回数据
【发布时间】:2018-01-19 07:16:48
【问题描述】:

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

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

有一个 URL 并且可以完美运行。

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 不能直接传真/假,需要转成字符串?

【问题讨论】:

  • 你在使用任何中间件吗?
  • 不。只有 'Route::match(['get', 'post'],'cargas/descargas/opcion', 'CargasYDescargasController@opcion');'
  • 尝试返回 response()->json($request->input('opcion'),200);而不是 dd($request->input('opcion'));

标签: php jquery ajax laravel


【解决方案1】:

我找到了答案,在我的情况下,ajax 中的文本选项需要是“选项”。查看代码。

$('[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}
            })
        });

【讨论】:

    猜你喜欢
    • 2023-02-24
    • 1970-01-01
    • 1970-01-01
    • 2021-06-02
    • 2018-04-07
    • 2014-06-03
    • 2015-08-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多