首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Laravel中获取没有HTML的原始异常消息?

如何在Laravel中获取没有HTML的原始异常消息?
EN

Stack Overflow用户
提问于 2015-06-11 02:28:11
回答 1查看 21.9K关注 0票数 7

我向Laravel后端发出ajax请求。

在后端,我检查请求数据并抛出一些异常。默认情况下,Laravel会生成包含异常消息的html页面。

我只想回复原始的异常消息,而不是任何html。

->getMessage()不工作。Laravel一如既往地生成html。

我该怎么办?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-11 02:56:56

在Laravel5中,您可以通过编辑app/Exceptions/Handler.php中的render方法来捕获异常。

如果你想捕捉所有AJAX请求的异常,你可以这样做:

代码语言:javascript
复制
public function render($request, Exception $e) 
{
    if ($request->ajax()) {
        return response()->json(['message' => $e->getMessage()]);
    }

    return parent::render($request, $e);
}

这将应用于AJAX请求中的任何异常。如果您的应用程序正在发送App\Exceptions\MyOwnException异常,您将检查该实例。

代码语言:javascript
复制
public function render($request, Exception $e)
{   
    if ($e instanceof \App\Exceptions\MyOwnException) {
        return response()->json(['message' => $e->getMessage()]);
    }

    return parent::render($request, $e);
}
票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30764466

复制
相关文章

相似问题

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