如何从json_encode在警报弹出窗口中显示新行?

时间:2020-09-26 16:54:29

标签: javascript php jquery json ajax

只要能够成功在文件中写入文件,我都会在调用php文件后显示一个使用ajax的弹出窗口。

我在使用警报的下面的代码中显示弹出窗口。

[ {
  "id" : "123",
  "dateHour" : "2020-07-08T08",
  "minutes" : "45",
  "value" : "1"
}, {
  "id" : "123",
  "dateHour" : "2020-07-08T13",
  "minutes" : "00",
  "value" : "1"
}, {
  "id" : "123",
  "dateHour" : "2020-07-08T13",
  "minutes" : "15",
  "value" : "1"
}, {
  "id" : "123",
  "dateHour" : "2020-07-08T13",
  "minutes" : "30",
  "value" : "1"
} ]

我要返回的json是这样的:

<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script>
$(function() {
    $('form').submit(function(e) {
        e.preventDefault();
        $.post({
            url: 'savefile.php',
            data: $(this).serialize(),
        }).done(response => {
            console.log(response);
            response = JSON.parse(response);
            if(response.message) {
                alert(response.message);
            }
        });
    });
});
</script>

我想在弹出窗口中显示,如下所示,echo json_encode([ 'success' => true, 'message' => $ret . ' bytes saved to file. \n All data saved.', ]); 换行而不是显示在同一行。但是,当我尝试上面的代码时,它只是在转义而不是在新行中显示。有什么干净的方法可以做到这一点吗?

All data saved.

1 个答案:

答案 0 :(得分:2)

当用单引号引起来时,PHP会按字面解释反斜杠。

使用双精度字符,换行符将被解析和兑现。

'message' => $ret . " bytes saved to file. \n All data saved."