运行 grunt 后添加 %20(空格)的 Javascript URL 字符串

标签 javascript json d3.js gruntjs

TLDR;

固定如下

selectedValue = selectedValue.replace(/\s+/g, '')

感谢:Richard MacarthyAaron Digulla 的回答,这让我找到了答案正确答案。

请注意,Grunt 似乎出于某种原因添加了这个空格。修复非常简单...

原始问题

我有一个 JSON 请求,它获取一个 JSON 文件的内容,用于使用 d3.js 进行数据可视化。

这一切都在本地运行良好,但是当我运行 grunt build 时,URL 字符串不知从哪里注入(inject)了一个 %20...

这是我运行 Grunt 之前字符串的样子:

d3.json("json/wards-info/"+selectedValue+"-wards-data.json", function(error, newDatas) {
    newData = newDatas;
    newWardsData = newWardsDatas;
    drawMap(newData, newWardsData);
});

计算为:

http://localhost:8080/app/json/wards-info/liverpool-ward-data.json

在我运行 Grunt 构建之后,计算的 URL 字符串更改为:

http://localhost:8080/dist/json/wards-info/liverpool%20-ward-data.json

如您所见,它似乎在 liverpool-ward 之间添加 %20

这是因为咕噜声,还是因为其他原因?

最佳答案

%20 通常代表 HTML URL 编码中的空格,请尽量确保输出中没有空格。

你可以使用这样的东西来帮助:

string.replace(//g,'') 去除空格。其中字符串是您的 URL。

或者试试这个:

.replace(/%20/g,'')

关于运行 grunt 后添加 %20(空格)的 Javascript URL 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29491761/

相关文章:

javascript - 在表单上隐藏成功和错误消息

javascript - 如何在 JavaScript 中比较用户输入和属性值?

javascript - 使用大写每个单词的第一个字母

javascript - 这是 javascript 吗?我应该把它放在哪里

c++ - 从 node.js C++ 绑定(bind)访问 JSON.stringify

android studio 无法解析导入 org.json.JSONObject

java - EclipseLink MOXy 2.5.0 快照不兼容需要将属性添加到 proporder

javascript - 如何通过在 D3 中应用新类来覆盖内联样式

javascript - 使用 D3 在 JSON 中嵌套数组

javascript - 使用 javascript 和 d3.js 每行打印 x 个元素