Fora

Sender JS multidimensional array til PHP

Me1000

Original plakat
15. juli 2006
  • 3. februar 2009
Trådløst sendt (Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_2 som Mac OS X; en-us) AppleWebKit/525.18.1 (KHTML, som Gecko) Version/3.1.1 Mobile/5G77 Safari/525.20)

Jeg har et multi-dim-array i Javascript
Kode: |_+_| Jeg har brug for at videregive arrayet til PHP (ved hjælp af et Ajax-kald sandsynligvis)
Jeg har indlæst jquery frameworket til at arbejde med.

Hvad ville være den bedste måde at videregive arrayet til PHP?

Tak

angelwatt

Moderator emeritus
16. august 2005
BRUG


  • 3. februar 2009
Kan du uddybe længden og typen af ​​information i arrayet for begge dimensioner? Det kan måske give nogle af os nogle ideer om den bedste tilgang.

Tilføjelse: Nogle små uddrag. Eksempel bruger en 2x3 matrix.
PHP: |_+_|

Me1000

Original plakat
15. juli 2006
  • 3. februar 2009
Begge dæmpninger indeholder en lille tekststreng.
Det første er et filnavn.
Den anden er en billedtekst til filen, som er navngivet i den første dim.

Jeg vil se nærmere på din kode i morgen, tak for hjælpen!
:æble:

angelwatt

Moderator emeritus
16. august 2005
BRUG
  • 4. februar 2009
Me1000 sagde: Begge dæmpninger indeholder en lille tekststreng.
Det første er et filnavn.
Den anden er en billedtekst til filen, som er navngivet i den første dim.

Jeg vil se nærmere på din kode i morgen, tak for hjælpen!
:æble:

Så længe disse strenge ikke indeholder kommaer, tror jeg, at min kode burde give et godt forspring. Jeg har ikke givet alt, hvad du har brug for, men hvis du har brug for yderligere vejledning eller afklaring, så lad mig det vide.

Også, hvis andre har ideer, er du velkommen til at dele. Jeg har lige udgivet den første idé, der kom til mig.

Me1000

Original plakat
15. juli 2006
  • 4. februar 2009
Jeg kunne se folk bruge kommaer i billedteksten...

angelwatt

Moderator emeritus
16. august 2005
BRUG
  • 4. februar 2009
Me1000 sagde: Jeg kunne se folk bruge kommaer i billedteksten...

Hmm, godt opkald. Så er et alternativ at adskille matrixværdierne ved at bruge noget andet end kommaet. Så en ny funktion skal oprettes for at bruge i stedet for toString()-funktionen, der forbinder array-elementerne. Brug måske '|' eller et ualmindeligt brugt tegn, eller du kan bruge et par tegn, f.eks. '|@|'. Så i PHP, når du eksploderer strengen, vil du indtaste hvilke tegn du brugte som separator.

Er det noget du kan gøre eller har du brug for vejledning?

Me1000

Original plakat
15. juli 2006
  • 4. februar 2009
Okay det er hvad jeg kom frem til...
Kode: |_+_|
Jeg sender a-strengen til php-filen

Kode: |_+_| Det er måske ikke min endelige kode til at sende den til php-filen, men lige nu er det den nemmeste at arbejde med.

problemet er,
min url ser sådan ud:
Kode: |_+_|
Den 'udefinerede' del i begyndelsen forårsager et problem, når man analyserer dataene.

Nogen idé om hvorfor det sker?

når jeg ringer
Kode: |_+_| det viser det korrekte resultat, så jeg ved, at mit originale array er godt

angelwatt

Moderator emeritus
16. august 2005
BRUG
  • 4. februar 2009
Ja, i din for-løkke har du streng = streng + ..., men streng er ikke erklæret første gang. Lige før for-løkken, når du erklærer strengvariablen, sæt den lig med '', så den har en startværdi.

Du har sandsynligvis også brug for en double for loop, da du ønsker at arbejde med multi-dimensional array.

Me1000

Original plakat
15. juli 2006
  • 4. februar 2009
sløjfe!

Tak for din hjælp.


Den endelige javascript-kode, jeg endte med, til de af jer, der er interesserede:

Kode: |_+_|

savar

6. juni 2003
District of Columbia
  • 4. februar 2009
Det ser ud til, at du har fundet ud af det, men du vil måske også undersøge JSON.

JSON (Javascript Object Notation) giver dig mulighed for at kode javascript-objekter i en kompakt notation, der kan sendes over ledningen. De fleste andre sprog har biblioteker til at parse denne JSON til native objekter. Jeg er sikker på, at hvis du undersøger det, vil du få en bedre ide om, hvad jeg mener.