2010-08-05 9 views

Répondre

0

Il existe plusieurs façons de résoudre ce problème.

  • Coder vos données sur le côté client dans votre structure de données personnalisée et le code à l'aide base64 et l'envoyer comme un paramètre
  • Si sont limitées (comme 10) lignes et colonnes vous pourriez juste sérialisation à votre goût :? r1c1 = 0 & r2c2 = 1 etc et décoder dans votre script PHP.

Je suggère cependant la première alternative.

1

Vous ne pouvez pas envoyer d'objet dans l'URL, vous pouvez uniquement envoyer des valeurs de chaîne.

Vous pouvez créer une valeur qui représente un tableau en dents de scie (qui est ce que vous avez comme Javascript ne pas tableaux multidimensionnels), comme:

test.php?t=[[1,2,3],[4,5,6],[7,8,9]] 

Cela aurait évidemment à analyser sur le côté serveur.

Vous voudrez peut-être regarder le format de données JSON. IIRC jQuery peut créer un format JSON, ou il y a au moins un plugin pour cela. Il devrait y avoir une bibliothèque PHP capable d'analyser le format.

+0

je ne knwo la valeur exacte, j'ai seule variable multiarray – farka

+0

Vous » re correct; PHP a json_encode() et json_decode() depuis la version 5.2 –

+0

je l'ai fait, mais je reçois Mutliarray (tableau bidimensionnel) tous les éléments dans un élément (tableau unidimensionnel) – farka

0

Voici une véritable requête Ajax dans jQuery. Regardez le paramètre de données pour $.ajax.

should('test paramterized multidimensional object', function() { 
    var mDimArray = []; 
    mDimArray[0] = []; 
    mDimArray[1] = []; 

    mDimArray[0][0] = 'data 0'; 
    mDimArray[0][1] = 'data 1'; 
    mDimArray[1][0] = 'data 2'; 
    mDimArray[1][1] = 'data 3'; 

    jQuery.ajax({ 
     url:  'test.php' 
     ,data:  { mDims: mDimArray } 
     ,dataType: 'json' 
     ,success: function(data) { 
      if (data.status === "success") { 
       ok(true, "Rx Json");     
      } 
     } 
    }); 

}); 

Voici ce que les paramètres de la demande ressemblent:

mDims[0][] data 0 
mDims[0][] data 1 
mDims[1][] data 2 
mDims[1][] data 3 

La chaîne de requête:

?mDims%5B0%5D%5B%5D=data+0&mDims%5B0%5D%5B%5D=data+1&mDims%5B1%5D%5B%5D=data+2&mDims%5B1%5D%5B%5D=data+3