使用Ajax和Laravel

时间:2018-03-05 19:44:20

标签: ajax laravel

当我使用Ajax发送帖子请求时,我收到内部服务器错误500但无法找到解决方案。

这是我的视图,其中包含Ajax:

<html>
   <head>
      <title>upload</title>
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
      <script src="/js/xhr2.js"></script>

      <script type="text/javascript">

         $(function(){

            $('#btn').click(function(){

              $.ajax({

                  url:"localhost:8000/test",
                  type:"POST",

                  dataType:'json',
                  success:function(data){
                  console.log(data);
              }
            });
           });
         });
      </script>
   </head>
   <body> 

    <input type="text" name="username" id="txt">
    <input type="button" name="btn" id="btn" value="send">


   </body>

</html>

这是我的控制器:

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
class UploadsController extends Controller
{
    public function getUpload(){
        return view('upload');
    }

     public function postTest($request request){
         return response()->json(['name'=> 'khaled','age'=>45]);
    }
}

和我的路线:

Route::get('/upload','UploadsController@getUpload');
Route::post('/test','UploadsController@postTest');

当我点击按钮时,它应该发送和异步发布请求,但错误的“内部服务器错误500”会返回。

2 个答案:

答案 0 :(得分:1)

> f <- function(x, a) { a * x } > result <- integrate(f, lower = 0, upper = 2, a = 3) > result$value [1] 6 功能

的参数定义错误
postTest

答案 1 :(得分:1)

错误可能因为缺少csrf-token

而发生

首先,添加元:<meta name="csrf-token" content="{{ csrf_token() }}">

然后,配置ajax请求的标头:

$.ajaxSetup({
    headers: {
        'X-CSRF-TOKEN': $('meta[name=csrf-token]').attr('content')
    }
});

我希望它能帮到你