我正在尝试使用AJAX从客户端向后端Laravel控制器发送一组数据。问题是我在控制器中的数据转储时一直变为null。
我在网上尝试了很多可能的解决方案,没有什么对我有用。我需要你的帮助才能知道我哪里出错或错过了。提前谢谢。
这是路线
Route::post('/event/going/{id}', ['as' => $s . 'going-post', 'uses' => 'PagesController@goingForEvent']);
这是控制器
public function goingForEvent(Request $request, $id)
{
dd(Input::get('result'));
}
这是HTML代码
<a data-url="{{route('public.going-post', $singleEvent->id)}}" id="imGoing" class="ui attached positive button">I'm Going</a>
<div class="or"></div>
这是AJAX代码
<script>
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$("#imGoing").click(function() {
var url = $(this).data('url');
console.log(url);
//var x = url.substr(url.lastIndexOf('/') + 1);
// console.log("/event/going/" + x);
swal({
title: 'Multiple inputs',
html:
'<input type="text" id="firstName" class="swal2-input">' +
'<input type="text" id="lastName" class="swal2-input">' +
'<input type="email" id="email" class="swal2-input">',
preConfirm: function () {
return new Promise(function (resolve) {
resolve([
$('#firstName').val(),
$('#lastName').val(),
$('#email').val(),
])
})
},
onOpen: function () {
$('#firstName').focus()
}
}).then(function (result) {
var stuff ={fn:result[0],ln:result[1], em: result[2]};
console.log(stuff);
$.ajax({
url: url,
type: "POST",
data: {result:JSON.stringify(stuff)},
processData: false, // tell jQuery not to process the data
contentType: false // tell jQuery not to set contentType
}).done(function( data ) {
//console.log(data);
});
}).catch(swal.noop)
});
</script>
在控制器上使用 $ request-&gt; all()后的结果