Bom dia, preciso popular um dataset sincronizado com dados(txt) de uma página externa(resolvi problema de cross-domain).
Já tentei utilizar chamadas Ajax e xmlhttp requests, porém dentro do dataset não é possível utilizar estes métodos.
Alguém tem alguma solução?
Segue abaixo meu código.
function defineStructure() {
addColumn("cod_usuario");
addColumn("mail");
addColumn("nom_sims");
setKey([ "cod_usuario" ]);
addIndex([ "cod_usuario", "mail", "nom_sims"]);
}
function onSync(lastSyncDate) {
var dataset = DatasetBuilder.newDataset();
var HttpClient = function() {
this.get = function(aUrl, aCallback) {
var anHttpRequest = new XMLHttpRequest();
anHttpRequest.onreadystatechange = function() {
if (anHttpRequest.readyState == 4 && anHttpRequest.status == 200)
aCallback(anHttpRequest.responseText);
}
anHttpRequest.open( "GET", aUrl, true );
anHttpRequest.send( null );
}
}
var client = new HttpClient();
client.get("https://cors.io/?http://portal.totvsrs.com.br/scripts/cgiip.exe/WService=portal/srv/wsgetcolab.r?usr=123123&pwd=1231232", function(msg) {
var y = msg.split("\n")
for(var i=0;i<y.values;i++){
var x = msg[i].substr(49,180).split(" ");
x = x.filter(function(entry) { return entry.trim() != ''; });
x.splice(2,5);
log.info(x[0])
log.info(x[1])
log.info(x[2])
dataset.addOrUpdateRow([ x[0], x[2], x[1]]);
}
});
}