我试图通过ajax使用表单将数据发布到控制器中的函数
我的代码是:页面顶部的<meta name="_token" content="{{ csrf_token() }}"/>
和ajax代码:
$.ajaxSetup({
headers: { 'X-CSRF-Token' : $('meta[name=_token]').attr('content') }
});
$('form').submit(function(e) {
e.preventDefault();
$.post('save', {name:'name anything'}, function(data) {
console.log(data);
});
});
我的路线看起来像
Route::post('/page/save', [
'uses'=> 'BackEnd\PagesController@store'
]);
但是我在控制台中收到以下错误
500 Internal Server Error
这就是我在控制器中所拥有的:
if(Request::ajax()) {
$data = Input::all();
print_r($data);
die();
}
答案 0 :(得分:1)
在控制器类启动之前添加 - use Illuminate\Http\Request;
。
对方法实施依赖注入 - public function store(Request $request)
。
并$data = Input::all();
尝试使用 - $data = $request::input('name');
希望问题能够得到解决。
控制器看起来应该像 -
<?php namespace App\Http\Controllers;
使用Illuminate \ Http \ Request; 使用Illuminate \ Routing \ Controller;
类PagesController扩展Controller {
public function store(Request $request)
{
if($request->ajax()) {
$data = $request->input('name');
print_r($data);
die();
}
}
}
答案 1 :(得分:0)
您可以从firebug Net面板中找到确切的错误,您可以在其中选择“在新标签页中打开响应”。这将显示Laravel错误消息。
Chrome中也存在类似的检查响应内容的方式。