Firefox 52:Javascript parseFloat 不适用于 UTF-16 字符串
Firefox 52: Javascript parseFloat not working with UTF-16 strings
我一直在尝试用这个在 Firefox v52 中读取 UTF-16 文件的内容:
$.ajax({
type: "GET",
url: "downloads/dg_mare_piwik_social.csv",
dataType: "text",
success: function(data) {
// Split the lines
var lines = data.split('\n');
for (var i = 1, len = lines.length; i < len; ++i) {
var items = lines[i].split(',');
console.log(items[0], Number.parseFloat(items[1]));
}
});
问题是在控制台中我从 parseFloat(items[1])
得到 NaN
。
这种情况只发生在 Firefox 中,所有其他浏览器都会得到这个数字。
我怎样才能让它工作?如何从 UTF-16 字符串中获取数字?
感谢T.J。帮助我确定问题根源的 Crowder。改成这个解决了我的问题:
$.ajax({
type: "GET",
url: "downloads/dg_mare_piwik_social.csv",
dataType: "text",
beforeSend: function (data) { data.overrideMimeType('text/plain; charset=UTF-16'); },
success: function(data) {
// Split the lines
var lines = data.split('\n');
for (var i = 1, len = lines.length; i < len; ++i) {
var items = lines[i].split(',');
console.log(items[0], Number.parseFloat(items[1]));
}
});
在发送前添加 overrideMimeType。
我一直在尝试用这个在 Firefox v52 中读取 UTF-16 文件的内容:
$.ajax({
type: "GET",
url: "downloads/dg_mare_piwik_social.csv",
dataType: "text",
success: function(data) {
// Split the lines
var lines = data.split('\n');
for (var i = 1, len = lines.length; i < len; ++i) {
var items = lines[i].split(',');
console.log(items[0], Number.parseFloat(items[1]));
}
});
问题是在控制台中我从 parseFloat(items[1])
得到 NaN
。
这种情况只发生在 Firefox 中,所有其他浏览器都会得到这个数字。
我怎样才能让它工作?如何从 UTF-16 字符串中获取数字?
感谢T.J。帮助我确定问题根源的 Crowder。改成这个解决了我的问题:
$.ajax({
type: "GET",
url: "downloads/dg_mare_piwik_social.csv",
dataType: "text",
beforeSend: function (data) { data.overrideMimeType('text/plain; charset=UTF-16'); },
success: function(data) {
// Split the lines
var lines = data.split('\n');
for (var i = 1, len = lines.length; i < len; ++i) {
var items = lines[i].split(',');
console.log(items[0], Number.parseFloat(items[1]));
}
});
在发送前添加 overrideMimeType。