只要能够成功在文件中写入文件,我都会在调用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.
答案 0 :(得分:2)
当用单引号引起来时,PHP会按字面解释反斜杠。
使用双精度字符,换行符将被解析和兑现。
'message' => $ret . " bytes saved to file. \n All data saved."