Laravel 路由器返回错误 500 internal-server-error

Posted

技术标签:

【中文标题】Laravel 路由器返回错误 500 internal-server-error【英文标题】:Laravel router returning error 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: `$pathcheckemail`,
        method: "post",
        data: "email":email,
        async: false,
        dataType: "json",
        headers: 
            'X-CSRF-TOKEN': token
        
    ).done(function(result)
       console.log(result)
   

【问题讨论】:

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

以上是关于Laravel 路由器返回错误 500 internal-server-error的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 5 API 路由向前端返回 500 错误

使用 Laravel 8 使用动态路由获取错误 500

Laravel5.5 路由; 500内部服务器错误)

Laravel 路由在特定控制器名称上给出 500 错误

重定向到 laravel 中的路由结果“HTTP 500 错误”

Laravel:为啥我的 ajax 请求返回“500(内部服务器错误)”?