Avoir une fonction qui convertit le fichier * .csv en JSON. En fonction, je peux imprimer ce fichier JSON à console.log console.log (jsonner); mais je ne peux pas le transférer au contrôleur angulaire. $ scope.names = jsonner; J'ai 2 problèmes: comment wait fuction, et comment rend var jsonner global.Comment obtenir var dans l'objet global après la fin de la fonction
function csvJSON(csv){
var lines=csv.split("\n");
var result = [];
var headers=lines[0].split(",");
for(var i=1;i<lines.length;i++){
var obj = {};
var currentline=lines[i].split(",");
for(var j=0;j<headers.length;j++){
obj[headers[j]] = currentline[j];
}
result.push(obj);
}
//return result; //JavaScript object
return JSON.stringify(result); //JSON
}
function processFiles(files) {
var file = files[0];
var reader = new FileReader();
reader.onload = function (e) {
// Когда это событие активируется, данные готовы.
// Вставляем их в страницу в элемент <div>
var output = document.getElementById("fileOutput");
output.textContent = e.target.result;
content = output.textContent;
jsonner = csvJSON(content);
console.log(jsonner);
};
reader.readAsText(file);
}
var SearchApp = angular.module('SearchApp',[]);
SearchApp.controller('ctrl2', ['$scope', function($scope){
// Here the array would be your response.text:
$scope.names = jsonner;
}]);
Object.assign (de jsonner global,); Cela fera jsonner aglobal et l'utiliser comme global.jsonner dans votre contrôleur –
ReferenceError Uncaught: jsonner n'est pas défini –
où je dois le mettre? –