【问题标题】:Laravel router returning error 500 internal-server-errorLaravel 路由器返回错误 500 internal-server-error
【发布时间】:2020-09-11 06:39:35
【问题描述】:

当我发出 javascript ajax 请求时,控制台会记录 500 错误(内部服务器错误) 我已经使用 {{ csrf_token() }} 将令牌传递给标头中的请求 我做错了什么?

我的路由器设置

Route::post('/checkemail', 'UserController@checkemail');

我的控制器文件

   <?php
      namespace App\Htpp\Controllers;

      use Illuminate\Http\Request;

      class UserController extends Controller{
         public function checkemail(Request $request){
            return 'something';   
         }
      }
    ?>

我的 javascript ajax

path = location.href
token = {{ csrf_token() }}

$.ajax({
        url: `${path}checkemail`,
        method: "post",
        data: {"email":email},
        async: false,
        dataType: "json",
        headers: {
            'X-CSRF-TOKEN': token
        }
    }).done(function(result){
       console.log(result)
   }

【问题讨论】:

  • 从您的网络控制台检查标头路径。它是正确的选择吗? ${path}checkemail
  • 是的,它正在制作。没有返回 404 错误
  • 能否请您分享带有 500 状态码的错误
  • 将 csrf 令牌作为数据的一部分发送......添加。 "_token" : 令牌
  • @JoãoPereira 请分享错误消息,以便我们回答准确的答案。

标签: javascript ajax laravel controller router


【解决方案1】:

确保您在控制器中输入正确的namespace

namespace 应该是 App\Http\Controllers; 而不是 App\Htpp\Controllers;(就像您在路由中键入 UserController 而不用完整命名空间作为前缀一样)。

所以控制器如下:

   <?php
      namespace App\Http\Controllers; // here is the change

      use Illuminate\Http\Request;

      class UserController extends Controller{
         public function checkemail(Request $request){
            return 'something';   
         }
      }
    ?>

【讨论】:

  • 那解决了问题:),谢谢。我需要关闭这个问题吗?我在哪里可以这样做..
  • 很高兴您的问题解决了! ...为了让您接受答案,请单击解决您问题的答案左侧投票按钮下方的“复选标记”按钮,查看此图片i.stack.imgur.com/LkiIZ.png
猜你喜欢
  • 2011-09-22
  • 1970-01-01
  • 2017-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-11
  • 2019-12-12
  • 2015-08-16
相关资源
最近更新 更多