Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Web Phoenix日志中出现奇怪错误:运行MyApp.Endpoint已终止_Web_Elixir_Phoenix Framework - Fatal编程技术网

Web Phoenix日志中出现奇怪错误:运行MyApp.Endpoint已终止

Web Phoenix日志中出现奇怪错误:运行MyApp.Endpoint已终止,web,elixir,phoenix-framework,Web,Elixir,Phoenix Framework,我在开发webapp时遇到以下错误。这是一个简单的应用程序,只有几个模型和一个页面,其中所有模型创建的表单都以多选项卡形式添加 我在日志中发现以下错误,但在浏览器端,一切正常。从日志中我也无法理解什么是错误的以及如何调试 [error] #PID<0.1603.0> running MyApp.Endpoint terminated Server: localhost:4000 (http) Request: GET / ** (exit) an exception was rais

我在开发webapp时遇到以下错误。这是一个简单的应用程序,只有几个模型和一个页面,其中所有模型创建的表单都以多选项卡形式添加

我在日志中发现以下错误,但在浏览器端,一切正常。从日志中我也无法理解什么是错误的以及如何调试

[error] #PID<0.1603.0> running MyApp.Endpoint terminated
Server: localhost:4000 (http)
Request: GET /
** (exit) an exception was raised:
    ** (Plug.Conn.AlreadySentError) the response was already sent
        (plug) lib/plug/conn.ex:428: Plug.Conn.resp/3
        (plug) lib/plug/conn.ex:415: Plug.Conn.send_resp/3
        (my_app) web/controllers/personal_info_controller.ex:1: MyApp.PersonalInfoController.phoenix_controller_pipeline/2
        (my_app) lib/phoenix/router.ex:265: MyApp.Router.dispatch/2
        (my_app) web/router.ex:1: MyApp.Router.do_call/2
        (my_app) lib/my_app/endpoint.ex:1: MyApp.Endpoint.phoenix_pipeline/1
        (my_app) lib/plug/debugger.ex:90: MyApp.Endpoint."call (overridable 3)"/2
        (my_app) lib/phoenix/endpoint/render_errors.ex:34: MyApp.Endpoint.call/2
        (plug) lib/plug/adapters/cowboy/handler.ex:15: Plug.Adapters.Cowboy.Handler.upgrade/4
        (cowboy) src/cowboy_protocol.erl:442: :cowboy_protocol.execute/4
[错误]#运行MyApp的PID。终结点已终止
服务器:本地主机:4000(http)
请求:获取/
**(退出)引发了一个异常:
**(Plug.Conn.AlreadySentError)已发送响应
(plug)lib/plug/conn.ex:428:plug.conn.resp/3
(plug)lib/plug/conn.ex:415:plug.conn.send_resp/3
(my_app)web/controllers/personal_info_controller.ex:1:MyApp.PersonalInfoController.phoenix_controller_管道/2
(my_app)lib/phoenix/router.ex:265:MyApp.router.dispatch/2
(my_应用程序)web/router.ex:1:MyApp.router.do_call/2
(my_app)lib/my_app/endpoint.ex:1:MyApp.endpoint.phoenix_管道/1
(my_app)lib/plug/debugger.ex:90:MyApp.Endpoint.“调用(可重写3)”/2
(my_app)lib/phoenix/endpoint/render_errors.ex:34:MyApp.endpoint.call/2
(plug)lib/plug/adapters/cowboy/handler.ex:15:plug.adapters.cowboy.handler.upgrade/4
(cowboy)src/cowboy_protocol.erl:442::cowboy_protocol.execute/4

当您复制响应时会出现此错误-这通常发生在您有一个插件,该插件将针对某个错误(例如,用户未登录)发送响应,然后从控制器操作发送另一个响应时

如果没有看到代码,就很难告诉您问题出在哪里。发送响应后,您可以使用它来防止此错误

e、 g


从控制器上卸下
plug:action
为我修复了它。不再需要按照


这个解决方案是在

上提出的。在这种情况下,查看代码非常有用(正如@Gazier在下面所说的)。这就是现在的解决方案。
conn
|> send_resp(404, "Post not found")
|> halt