如何通过post方法将数据从ajax传递到laravel 5.2控制器

For*_*une 7 javascript php ajax laravel-5.2

你好StackOverflow家族.这是我的第一个问题,我希望得到帮助.

我是laravel框架的新手,在我的项目中使用的是5.2版本.我试图使用post方法从我的ajax函数传递数据到特定的控制器方法,但没有数据传递给控制器​​.

我按照这个论坛中的步骤https://laracasts.com/discuss/channels/laravel/process-data-in-controller-using-ajax-in-laravel但无法使其工作.这是我到目前为止所做的.

我的JavaScript(post_script.js):

$.ajax({
    method: 'POST',
    url: './home',
    data: {
        userID: 76,
        userName: 'Jimmy'
     },
});
Run Code Online (Sandbox Code Playgroud)

请注意,此文件保存在assets/jslaravel结构的目录中.这是我在路径文件(routes.php)中的内容:

Route::get('/', "MyController@home");
Route::get('home', "MyController@home");
Run Code Online (Sandbox Code Playgroud)

这是我在MyController.php文件中的功能:

function home(Request $request) {
    $userID = $request['userID'];
    $userName = $request['userName'];
    return view('home', [
      'userID'=> $userID,
      'userName' => $userName
    ]);
}
Run Code Online (Sandbox Code Playgroud)

在我看来,我试图像这样访问它:

<p>User ID: {{$userID}}</p>
<p>User Name: {{$username}}</p>
Run Code Online (Sandbox Code Playgroud)

什么都没显示!请问我做错了什么?我需要你的帮助.如果我的问题不合适,请原谅我,但我希望你明白我的意思.谢谢

Don*_*nic 8

您的AJAX正在POST,但您没有设置POST路由,只有GET.添加POST路由,如下所示:

Route::post('home', "MyController@home");
Run Code Online (Sandbox Code Playgroud)