微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

模板文字中的 JavaScript 换行符编码

如何解决模板文字中的 JavaScript 换行符编码

在模板文字中,换行符可以用 \n 或字符串中的文字换行符表示。根据文档和从打印到控制台,这两种方法没有区别。

但是,在使用 Axios 时,我在 POST 的数据字段中发送了一个带有 \n 的字符串。服务器错误地解释了此请求并合并了字符串中的行。当我用字符串中的文字换行符更改所有 \n 字符时,服务器按预期解释请求。这里发生了什么?两种方法在编码上有区别吗?

// this works
    await axios.post(`${myURL}/`,{
            password: `${username}@${server}
            ${password}`
        });

// this doesn't work
    await axios.post(`${myURL}/`,{
            password: `${username}@${server}\n${password}`
        });

解决方法

这两种方法在编码上有区别吗?

是的,您的第一个代码还包括服务器和密码之间的许多非换行符:

            ${password}`
^^^^^^^^^^^^

要使它们相同,请在 \n 后添加空格,例如:

await axios.post(`${myURL}/`,{
        password: `${username}@${server}\n             ${password}`
    });

(您可能只需要在 \n 后面添加一个空格才能正确解析它 - 稍微尝试一下)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。