无法使用JS在新行上打印HTML输出

时间:2017-11-15 20:03:33

标签: javascript html

我正在尝试将以下输出打印到我的html页面上:

100.101.102.103

尝试192.168.30.61 ...打开

警告通知

此系统仅限于公司授权用户

但相反,我得到了这个: '\ n100.101.102.103 \ r \ nTrying 100.101.102.103 ...打开\ r \ n \ r \ n ************* *********** ************************************************** * \ r \ n警告提示\ r \ n \ r \ n \ n此系统仅限公司授权用户使用

JS:

<script>
    $(function() {
    $('button').click(function() {
        $.ajax({
            url: '/runCommand_query',
            data: $('form').serialize(),
            type: 'POST',
            success: function(response) {
            //alert("hi");
            console.log(response);
            //$("#opt").html(response);
            $("#opt").html(response);
        },
        error: function(error) {
        console.log(error);
    $("#opt").val(error);
        }
    });
});

});

HTML:

output id="opt" name="opt"

我需要一个解决方案来摆脱“\ r”和“\ n”

1 个答案:

答案 0 :(得分:2)

您需要将新行的JavaScript字符串转义码转换为HTML <br>元素。

在AJAX成功处理程序的开头,添加:

response = response.replace(/(\n|\r)/g, "<br>");

以下是一个例子:

&#13;
&#13;
var response = " '\n100.101.102.103\r\nTrying 100.101.102.103 ...";

response = response.replace(/(\n|\r)/g, "<br>");

document.querySelector("p").innerHTML = response;
&#13;
<p></p>
&#13;
&#13;
&#13;