javascript - 如何在 JavaScript 中格式化连接的异常字符串

标签 javascript html socket.io

我正在使用flasksocket.io传输python异常,并在 html 中显示异常字符串模态框。问题是模态框中显示的字符串没有格式,看起来像一个长连接字符串,所有异常都放在一起,

Traceback (most recent call last): File "/home/user_name/.local/lib/python3.5/site-packages/requests/packages/urllib3/connection.py", line 137, in _new_conn (self.host, self.port), self.timeout, **extra_kw) File "/home/user_name/.local/lib/python3.5/site-packages/requests/packages/urllib3/util/connection.py", line 91, in create_connection raise err File "/home/user_name/.local/lib/python3.5/site-packages/requests/packages/urllib3/util/connection.py", line 81, in create_connection sock.connect(sa) File "/usr/local/lib/python3.5/dist-packages/gevent/_socket3.py", line 301, in connect raise error(err, strerror(err)) ConnectionRefusedError: [Errno 111] Connection refused 

我喜欢它像 python console 那样显示。 ,

Traceback (most recent call last):
  File "/home/user_name/.local/lib/python3.5/site-packages/requests/packages/urllib3/connection.py", line 137, in _new_conn
    (self.host, self.port), self.timeout, **extra_kw)
  File "/home/user_name/.local/lib/python3.5/site-packages/requests/packages/urllib3/util/connection.py", line 91, in create_connection
    raise err
  File "/home/user_name/.local/lib/python3.5/site-packages/requests/packages/urllib3/util/connection.py", line 81, in create_connection
    sock.connect(sa)
  File "/usr/local/lib/python3.5/dist-packages/gevent/_socket3.py", line 301, in connect
    raise error(err, strerror(err))
ConnectionRefusedError: [Errno 111] Connection refused

我想知道如何在JavaScript中实现这一点。

更新

这是我的js使用 <pre> 的模态框代码,

function show_modal(row, column) {

  var modal_header = $(".modal-header");
  modal_header.text("header_footer");

  $(".modal-body p").append("<pre>" + "Traceback (most recent call last): File "/home/user_name/.local/lib/python3.5/site-packages/requests/packages/urllib3/connection.py", line 137, in _new_conn (self.host, self.port), self.timeout, **extra_kw) File "/home/user_name/.local/lib/python3.5/site-packages/requests/packages/urllib3/util/connection.py", line 91, in create_connection raise err File "/home/user_name/.local/lib/python3.5/site-packages/requests/packages/urllib3/util/connection.py", line 81, in create_connection sock.connect(sa) File "/usr/local/lib/python3.5/dist-packages/gevent/_socket3.py", line 301, in connect raise error(err, strerror(err)) ConnectionRefusedError: [Errno 111] Connection refused " + "</pre>");

  var modal_footer = $(".modal-footer");
  modal_footer.text("header_footer");

  modal.style.display = "block";
}

最佳答案

您的测试代码删除了必要的格式。

这是工作代码:

var err = "Traceback (most recent call last):\n  File \"/home/user_name/.local/lib/python3.5/site-packages/requests/packages/urllib3/connection.py\", line 137, in _new_conn (self.host, self.port), self.timeout, **extra_kw)\n  File \"/home/user_name/.local/lib/python3.5/site-packages/requests/packages/urllib3/util/connection.py\", line 91, in create_connection raise err\n  File \"/home/user_name/.local/lib/python3.5/site-packages/requests/packages/urllib3/util/connection.py\", line 81, in create_connection sock.connect(sa)\n  File \"/usr/local/lib/python3.5/dist-packages/gevent/_socket3.py\", line 301, in connect raise error(err, strerror(err))\nConnectionRefusedError: [Errno 111] Connection refused ";

function show_modal() {

  var $pre = $("<pre>").html(err);
  $(".modal-body p").append($pre);

}

show_modal();
pre {
    white-space: pre-wrap
}

.modal-body {
  width: 90%;
  margin: 1em auto;
  padding: 0 1em;
  border: 1px solid silver
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="modal-body">
  <p></p>
</div>

关于javascript - 如何在 JavaScript 中格式化连接的异常字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44282343/

相关文章:

javascript - JavaScript 函数是否可以将其自己的函数调用作为字符串返回?

javascript - 是否有任何用于解析/自动完成领域特定语言的 javascript 框架?

javascript - 纯 JavaScript 轮播 - 限制 style.left 值更改为动态最大值

html - 如何控制元素周围的 div 或框

javascript - 使用 JQuery 在 HTML 中查找具有特定名称属性或 ID 的元素

带有 socket.io 的 Node.js

postgresql - socket.io 在浏览器刷新时重复发出事件

javascript - 如何在 angular.json 的脚本部分使用 glob 模式?

Chrome 中的 HTML <base>

node.js - 在 node.js 中分离文件服务器和 socket.io 逻辑