Forum

Sender JS flerdimensjonal array til PHP

Me1000

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

Jeg har en multi-dim array i Javascript
Kode: |_+_| Jeg må sende arrayet til PHP (bruker sannsynligvis en Ajax-anrop)
Jeg har jquery-rammeverket lastet opp for å jobbe med.

Hva ville være den beste måten å sende arrayet til PHP?

Takk

angelwatt

Moderator emeritus
16. august 2005
BRUKER


  • 3. februar 2009
Kan du utdype lengden og typen informasjon i arrayet for begge dimensjonene? Det kan gi noen av oss noen ideer om den beste tilnærmingen.

Addisjon: Noen små snutter. Eksempelet bruker en 2x3-matrise.
PHP: |_+_|

Me1000

Original plakat
15. juli 2006
  • 3. februar 2009
Begge dimmene inneholder en liten tekststreng.
Det første er et filnavn.
Den andre er en bildetekst for filen som er navngitt i den første nedtoningen.

Jeg skal se nærmere på koden din i morgen, takk for hjelpen!
:eple:

angelwatt

Moderator emeritus
16. august 2005
BRUKER
  • 4. februar 2009
Me1000 sa: Begge dimmene inneholder en liten tekststreng.
Det første er et filnavn.
Den andre er en bildetekst for filen som er navngitt i den første nedtoningen.

Jeg skal se nærmere på koden din i morgen, takk for hjelpen!
:eple:

Så lenge disse strengene ikke inneholder noen kommaer, tror jeg koden min burde gi et godt forsprang. Jeg ga ikke alt du trenger, men hvis du trenger ytterligere veiledning eller avklaring, bare gi meg beskjed.

Også, hvis noen andre har ideer, må du gjerne dele. Jeg la akkurat ut den første ideen som kom til meg.

Me1000

Original plakat
15. juli 2006
  • 4. februar 2009
Jeg kunne se folk bruke komma i bildeteksten...

angelwatt

Moderator emeritus
16. august 2005
BRUKER
  • 4. februar 2009
Me1000 sa: Jeg kunne se folk bruke komma i bildeteksten...

Hmm, bra samtale. Da er et alternativ å skille matriseverdiene ved å bruke noe annet enn kommaet. Så en ny funksjon må opprettes for å bruke i stedet for toString()-funksjonen som forbinder array-elementene. Kanskje bruk '|' eller et uvanlig brukt tegn, eller du kan bruke et par tegn, f.eks. '|@|'. Når du eksploderer strengen, skriver du inn hvilke tegn du brukte som skilletegn i PHP.

Er det noe du kan gjøre eller trenger du veiledning?

Me1000

Original plakat
15. juli 2006
  • 4. februar 2009
OK, dette er hva jeg kom på...
Kode: |_+_|
Jeg sender a-strengen til php-filen

Kode: |_+_| Det er kanskje ikke min endelige kode for å sende den til php-filen, men akkurat nå er det den enkleste å jobbe med.

problemet er,
min url ser omtrent slik ut:
Kode: |_+_|
Den 'udefinerte' delen i begynnelsen forårsaker et problem når du analyserer dataene.

Noen anelse om hvorfor det skjer?

når jeg ringer
Kode: |_+_| den viser riktig resultat, så jeg vet at den originale matrisen min er god

angelwatt

Moderator emeritus
16. august 2005
BRUKER
  • 4. februar 2009
Ja, i for-løkken har du string = string + ..., men streng er ikke deklarert første gang. Rett før for-løkken når du erklærer strengvariabelen, sett den lik '' slik at den har en startverdi.

Dessuten vil du sannsynligvis trenge en dobbel for loop siden du ønsker å jobbe med flerdimensjonal array.

Me1000

Original plakat
15. juli 2006
  • 4. februar 2009
Bue!

Takk for hjelpen.


Den siste javascript-koden jeg endte opp med, for de av dere som er interessert:

Kode: |_+_|

savar

6. juni 2003
District of Columbia
  • 4. februar 2009
Det ser ut til at du har funnet ut av det, men du vil kanskje også undersøke JSON.

JSON (Javascript Object Notation) lar deg kode javascript-objekter i en kompakt notasjon som kan sendes over ledningen. De fleste andre språk har biblioteker for å analysere denne JSON til opprinnelige objekter. Jeg er sikker på at hvis du undersøker det, vil du få en bedre ide om hva jeg mener.