Laravel - 无法从ajax到控制器的数据

时间:2016-08-08 22:26:27

标签: php ajax laravel post controller

我正在尝试将数据从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。请帮助我,谢谢!

1 个答案:

答案 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字段