【问题标题】:How to abort 500 in production?如何在生产中中止 500?
【发布时间】:2017-07-15 01:28:48
【问题描述】:

我有一个反馈表并想测试 .fail 消息(使用 sweetalert swal 方法)。在生产环境中发送表单时如何人为地触发 500 错误(在本地工作)?感谢您的帮助)

【问题讨论】:

  • 我假设您有某种验证可以防止您提交无效的 POST 请求。要么删除可以访问生产服务器的应用程序本地副本中的验证,要么使用 Postman 之类的东西并自己构造一个无效的 POST 请求。
  • 是的,但如果我有服务器错误?
  • 如果您只是想测试客户端如何响应 500,则不必将表单提交到生产服务器。只需运行一些始终返回 500 的本地虚拟服务器,点您的表单 URL,并以这种方式进行测试。还有一些方法可以在不涉及服务器的情况下测试 JS 中的失败条件,但我从未使用过 sweetalert,所以除非你发布一些代码,否则我无法在这方面给你任何建议。
  • 谢谢你的解释)......我在本地环境中测试它(一切正常),但我能把它投入生产很有趣)

标签: javascript forms laravel-5 abort sweetalert


【解决方案1】:

500 错误表示执行期间出现致命错误。要显式触发它,只需让您的应用程序失败,使其返回非 0 状态码。抛出异常也可以,但最直接的方法是简单地以非 0 状态码退出:

exit 1;

您还可以将您的网络服务器配置为直接返回特定 URL/请求的 HTTP 状态代码;例如 .htaccess 配置:

RewriteCond %{REQUEST_METHOD} POST
RewriteRule /my/submit/uri - [R=500]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-26
    • 2017-03-18
    • 2021-12-08
    • 2021-06-01
    相关资源
    最近更新 更多