我正在尝试使用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,我需要转换成字符串吗?
答案 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}
})
});