【发布时间】: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'));