javascript - Javascript 中随机显示的换行符和额外空格
问题描述
我正在使用 Rails 5.2、ruby 2.4.1,并使用 Postgres(PG) 数据库。我正在尝试将 javascript 变量设置为我的数据库中的值。除了名为“名称”的第一列之外,我在所有这些上都取得了成功。出于某种原因,每个名称前都添加了两个额外的空格。然后它最终会在其中一个上抛出一个错误,说无效或意外的令牌。当它抛出错误时,代码看起来像是插入了换行符。
fullName: '
Chase Dougherty',
firmName: 'Chase Bank', etc...
在它看起来像之前的每个人
fullName: ' Example Name',
firmName: 'Example Bank'. etc...
我的数据库中的名称列是正确的,因为我可以在每一行上单击“显示”并且没有多余的空格。
如果我删除 info.name 其他一切正常。如果我从 erb 标记中删除等号,它可以工作,但我的 javascript 变量将不保存任何内容(显然)。加载时会发生此错误。有没有人有一些想法我可以测试来解决这个问题?这是我的代码,以防你想测试它。
<script>
setContents = function setsPostgresDatatoJavascriptVariables(){
<% collective.each do |info| %>
typeMarkers = [
{
fullName: '<%= info.name %>',
firmName:'<b><%= info.firm_name %></b>',
firmNumber:'<b><%= info.firm_number %></b>',
adjustmentType:'<b><%= info.adjustment_type %></b>',
address:'<%= info.address_1 %>',
},
];
<% end %>
}
<script>
解决方案
“我的数据库中的姓名列是正确的,因为......”
在显示页面上,您的浏览器在渲染时会压缩空格。您应该做一个查看源代码,它将显示任何空白。
如果您在那里看到前导空格,那么前导空格在您的数据库中。您可能会打电话strip()
将其删除。
推荐阅读
- javascript - 为什么单击时菜单图标不触发?
- html - 我认为我的显示器尺寸太大,所以我的标题没有填满全屏
- html - 热图例文本之间的位置图像
- jdbc - OracleConnection.close 为 PooledDataSource 引发 UniversalConnectionPoolException
- redis - 在 Redisearch 中使用 FT.search 使用小写字母进行 TEXT 字段搜索时,不返回具有大写字段的文档
- html - 我无法调整标题在标题上的位置
- shell - cURL 在 URL 更改但链接文本不变的页面上下载文件
- postgresql - 如何在 SQL 中编写具有独占性的查询?
- ios - 如何在swift中为矩形uiview提供破折号边框
- r - 如何在strsplit之后访问元素列表的第一个元素?