我正在尝试将数据从ajax检索到控制器,但似乎ajax没有传递任何数据。
Meta for Token:
<meta name="_token" content="{!! csrf_token() !!}" />
使用Javascript:
$.ajaxSetup({
headers: { 'X-CSRF-Token' : $('meta[name=_token]').attr('content') }
});
// AJAX Call
$.ajax({
method: "POST",
url: "someurl",
data: JSON.stringify({'sample': 'test'}),
dataType: "json",
contentType: "application/json",
success: function(data) {
console.log(data);
},
error: function(err) {
console.log(err);
}
});
路线:
Route::post('/someurl', 'AdminController@updateUser');
控制器:
public function updateUser() {
$myTest = Input::all();
return response()->json(json_encode($myTest));
}
我可以毫无问题地调用控制器,但是当我添加Input:all()
时,我得到500 server error
。请帮助我,谢谢!
答案 0 :(得分:0)
如果我错了,请纠正我,但就我所知,Input :: all()由Laravel Requests工作。您不是处理请求而是纯粹的原始POST数据,因此Input :: all()不起作用。尝试使用SELECT Geography::Point(Latitude,Longitude, 4326) as c
FROM na.MyTable
where Latitude Is Not Null
访问它,看看是否能完成这项工作。哦,为了您的方便,如果您使用的是Blade模板引擎,我会选择以下内容:
$myTest = $_POST['sample']
并放弃ajaxsetup和csrf字段