首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >获取500 (内部服务器错误) laravel/js

获取500 (内部服务器错误) laravel/js
EN

Stack Overflow用户
提问于 2018-07-10 02:42:06
回答 1查看 1.2K关注 0票数 1

当用户单击按钮时,我正在尝试向用户发送OTP。

所以我使用了LARAVEL,并将响应返回为JSON

当我单击该按钮时,我在控制台中看到以下错误:

GET http://domain/resend 500 (内部服务器错误)

SyntaxError:位置0处的意外标记

我读了一个关于同一主题的问题,答案是我必须添加CSRF令牌,我确实添加了它,但仍然收到错误。

我的js代码:

代码语言:javascript
复制
try {
        let resend = await fetch('http://domain/resend',{
            method:'GET',
            headers:{

                'Content-type':'application/json',
                'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]').getAttribute('content').value
            },
        });
        let resultre = await resend.json();

        return {

            resultre
        }
    }catch (e) {
        console.log(e);
    }

而我返回的是幼虫的回答:

代码语言:javascript
复制
return response()->json($user->save());

我还是个初学者,所以我的代码可能不好,

谢谢

EN

回答 1

Stack Overflow用户

发布于 2018-07-10 03:01:36

这是与服务器端相关的问题。因为您的服务器输出调试错误代码(可能是HTML格式),所以它不是有效的JSON输出,并且您的Javascript代码无法将其解析为JSON。

这意味着错误可能与通过路由调用的方法有关,其中您有这部分代码:

代码语言:javascript
复制
return response()->json($user->save());

乍一看,您似乎是在尝试对null调用save()方法。您的$user对象是否丢失?尝试从$request获取它。

但是,你仍然需要检查你的日志。您应该在.env文件中将应用程序设置为调试模式。

然后你应该检查日志(如果没有安装monolog,安装它)检查更多的日志在Laravel这里:https://laravel.com/docs/5.6/logging

也许将你的响应包装在try catch代码块中会很有帮助,看看错误抛出了什么:

代码语言:javascript
复制
try{
    return response()->json($user->save());
}catch(\Exception $e){
    return response()->json(['error'=>$e->getMessage()]);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51252122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档