Transmitere array in obiect la Ajax

Discutii si intrebari legate de scripturi si functii JavaScript, jQuery si Ajax, cod JavaScript in general.
andras
Mesaje: 430

Transmitere array in obiect la Ajax

Salut,
Vreau sa filtrez datele dintr-un tabel html si pentru fiecare coloana am pus un input type="text" la inceputul tabelului. In JS am urmatoarele intructiuni (simplificat):

Cod: Selectaţi tot

<script>
function filtreaza(elm, clasa, tabela) {   
var filtre = [];
var id='';
for (i = 0; i <= elm; i++) {    // elm este numarul de cimpuri din tabelul html
id='ttt'.concat(i);
filtre[i] = document.getElementById(id).value;
}
alert(filtre); // afiseaza filtru1, filtru2, filtru3, filtru4 (valorile corespunzatoare din input-urile text de la inceputul tabelului html)
}
</script>
Array-ul are lungime variabila, in functie de numarul coloanelor din tabelul html.
Cum transmit acest array de aici catre functia ajaxSend() ca obiect JS si cum il convertesc din nou in fisierul destinatie? In fisierul destinatie cu aceste valori voi filtra inregistrarile. Multumesc.

MarPlo Mesaje: 4343
Salut
Poti face asa, se transmite array-ul ca sir JSON la o proprietate din obiect pe care-l trimiti la ajaxSend():

Cod: Selectaţi tot

function filtreaza(elm, clasa, tabela) {   
  var filtre = [];
  var id='';
  for(i = 0; i <= elm; i++) {  // elm - numarul de cimpuri din tabelul html
    id='ttt'.concat(i);
    filtre[i] = document.getElementById(id).value;
  }
  var data_send = {tb: JSON.stringify(filtre)};  //object to be send to ajaxSend()
//  console.log(data_send); //to see data of data_send in JS console
}
Iar in php, unde e trimis, se preia asa:

Cod: Selectaţi tot

if(isset($_POST['tb'])){
 $tb = json_decode(trim($_POST['tb']), true);
  var_export($tb);  //for test
} 

Subiecte similare