Simplify and unify functions in one

0

How can I simplify and leave everything in a single function the script below?

var plano_0 = new XMLHttpRequest();
    plano_0.open('GET', 'buscar_valor.php?id=10', false); 
    plano_0.send(null);
    plano_0=plano_0.responseText;
    plano_0_valor=plano_0.replace(".", ",")
    arrayAmount[0]=plano_0_valor;

var plano_1 = new XMLHttpRequest();
    plano_1 .open('GET', 'buscar_valor.php?id=20', false); 
    plano_1 .send(null);
    plano_1 =plano_0.responseText;
    plano_1_valor=plano_0.replace(".", ",")
    arrayAmount[1]=plano_1_valor;

var plano_2 = new XMLHttpRequest();
    plano_2.open('GET', 'buscar_valor.php?id=30', false); 
    plano_2.send(null);
    plano_2=plano_0.responseText;
    plano_2_valor=plano_0.replace(".", ",")
    arrayAmount[2]=plano_2_valor;

I would like to do for example:

function buscaValor () {
var plano = new XMLHttpRequest();
    plano.open('GET', 'buscar_valor.php?id=id_do_array', false); 
    plano.send(null);
    plano=plano.responseText;
    valor=plano.replace(".", ",")
}

arrayAmount[0]=valor_id10;
arrayAmount[1]=valor_id20;
arrayAmount[2]=valor_id30;

Obviously the above function is wrong, but it is just an example to show how it could be.

    
asked by anonymous 04.09.2018 / 03:52

1 answer

2
// Primeiro cria uma variável global, que será a array mestre
var planos;

// Daí você chama a função com os ids em array
// Exemplo: fazer_plano([10,20,30]);
// A função adiciona automaticamente os valores na variável planos
// Para recuperar é só usar: planos[0]

function fazer_plano(id) {
  for (i = 0; i < id.length; i++) {
    var plano = new XMLHttpRequest();
    plano.open('GET', 'buscar_valor.php?id=' + id[i], false);
    plano.send(null);
    planos.push(plano.responseText.replace(".", ","));
  }
}

Note: it's worth taking a look at the XMLHttpRequest documentation for your code may be run-time errors.

    
04.09.2018 / 04:40