javascript - 为什么新行在此 javascript 警报窗口中不起作用?

标签 javascript jquery ajax alert

我发现警报窗口和新行有很多不同的问题。大多数是 \n 在 PHP 中被视为新行而不是发送到 javascript。

在我的例子中,字符串在显示 \n 的新窗口中输出。我只是尝试通过 jsfiddle 将 \n 实际写入警告框,并且成功了,所以这一定是我做事的方法......

这是返回到控制台的字符串。如您所见,\n 肯定存在:

需要用户名\n需要密码\n需要邮箱\n需要手机\n需要卡号

但是,它是这样显示的:

An alert with \n instead of a new line

为什么会这样?我认为它可能与数据类型有关,因为它是从 $.ajax

返回的
if (canAjax && !try_ajax) { 
    e.preventDefault();
    $.ajax({
        type: "POST", 
        url: "mobilesubmit.php",
        data: {"use_ajax": true, "formdata": $("#register_form").first().serializeArray()},
        success: function(data) {

            // This stupid thing should make new lines!
            alert(data);

            console.log(data);
        },
        error: function (request, status, error) {
            try_ajax = true;
            $("#register_form").submit();
        }
    });
}

最佳答案

如果您的控制台日志显示的是 \n 而不是换行,则意味着 \ 在原始字符串中被转义了...

比较

console.log(1,"\\n\\n");
console.log(2,"\n\n");

解决方案

使用 .replace() 将你的 \n 换成换行符

console.log(3,"\\n\\n".replace(/\\n/g,"\n"))

关于javascript - 为什么新行在此 javascript 警报窗口中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8967722/

相关文章:

javascript - 使用 Ajax 从实时 PHP 和 Python 输出更新页面内容

Javascript:变量范围和全局变量的弊端

ajax - 使用 link_to 远程 : true to pass parameters to rails

javascript - Moment.js - 获取明天并显示一周中的某一天

javascript - 解析标签javascript的html属性

javascript - 相对于 mousemove 的动画背景图像

c# - 更新面板的性质

javascript - 以不同的间隔显示图像

javascript - 我如何知道 HTML5 Canvas 的渲染何时完成?

jquery - 使 <div>, <li> 无需 <a> 标签即可点击