我一直试图在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]));
}
});
问题是在控制台中我从NaN
获得parseFloat(items[1])
。
这种情况只发生在Firefox中,所有其他浏览器都会使用该数字。
我怎样才能让它发挥作用?如何从UTF-16字符串中获取数字?
答案 0 :(得分:1)
对T.J.的称赞克劳德帮助我找出了问题的根源。将其更改为此已解决了我的问题:
$.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]));
}
});
在beforesend添加overrideMimeType。