Forum

Skickar JS flerdimensionell array till PHP

Jag 1000

Originalaffisch
15 juli 2006
  • 3 februari 2009
Trådlöst upplagd (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)

Jag har en multi dim array i Javascript
Kod: |_+_| Jag måste skicka arrayen till PHP (antagligen med ett Ajax-anrop)
Jag har jquery-ramverket laddat att arbeta med.

Vad skulle vara det bästa sättet att skicka arrayen till PHP?

Tack

angelwatt

Moderator emeritus
16 augusti 2005
ANVÄNDNINGAR


  • 3 februari 2009
Kan du utveckla längden och typen av information i arrayen för båda dimensionerna? Det kan ge några av oss några idéer om ett bästa tillvägagångssätt.

Tillägg: Några små klipp. Exempel använder en 2x3-array.
PHP: |_+_|

Jag 1000

Originalaffisch
15 juli 2006
  • 3 februari 2009
Båda mörkarna innehåller en liten textsträng.
Det första är ett filnamn.
Den andra är en bildtext för filen som är namngiven i den första nedtoningen.

Jag ska titta på din kod vidare imorgon, tack för hjälpen!
:äpple:

angelwatt

Moderator emeritus
16 augusti 2005
ANVÄNDNINGAR
  • 4 februari 2009
Me1000 sa: Båda dimningarna innehåller en liten textsträng.
Det första är ett filnamn.
Den andra är en bildtext för filen som är namngiven i den första nedtoningen.

Jag ska titta på din kod vidare imorgon, tack för hjälpen!
:äpple:

Så länge de strängarna inte innehåller några kommatecken tror jag att min kod borde ge ett bra försprång. Jag tillhandahöll inte allt du behöver, men om du behöver ytterligare vägledning eller förtydligande är det bara att meddela mig.

Dessutom, om någon annan har idéer får du gärna dela. Jag lade precis ut den första idén som kom till mig.

Jag 1000

Originalaffisch
15 juli 2006
  • 4 februari 2009
Jag kunde se folk använda kommatecken i bildtexten...

angelwatt

Moderator emeritus
16 augusti 2005
ANVÄNDNINGAR
  • 4 februari 2009
Me1000 sa: Jag kunde se folk använda kommatecken i bildtexten...

Hmm, bra samtal. Då är ett alternativ att separera matrisvärdena med något annat än kommatecken. Så en ny funktion skulle behöva skapas att använda snarare än funktionen toString() som sammanfogar arrayelementen. Kanske använd '|' eller något ovanligt använda tecken eller så kan du använda ett par tecken, t.ex. '|@|'. När du sedan exploderar strängen anger du vilka tecken du använde som separator i PHP.

Är det något du kan göra eller behöver du vägledning?

Jag 1000

Originalaffisch
15 juli 2006
  • 4 februari 2009
Okej, det här är vad jag kom på...
Kod: |_+_|
Jag skickar a-strängen till php-filen

Kod: |_+_| Det kanske inte är min sista kod för att skicka den till php-filen, men just nu är det det enklaste att arbeta med.

problemet är,
min url ser ut ungefär så här:
Kod: |_+_|
Den där 'odefinierade' delen i början orsakar problem när man analyserar data.

Någon aning om varför det händer?

när jag ringer
Kod: |_+_| den visar det korrekta resultatet, så jag vet att min ursprungliga array är bra

angelwatt

Moderator emeritus
16 augusti 2005
ANVÄNDNINGAR
  • 4 februari 2009
Japp, i din for-loop har du sträng = sträng + ..., men sträng deklareras inte första gången. Strax före for-slingan när du deklarerar strängvariabeln ställ in den lika med '' så att den har ett startvärde.

Dessutom kommer du förmodligen att behöva en dubbel för loop eftersom du vill arbeta med flerdimensionell array.

Jag 1000

Originalaffisch
15 juli 2006
  • 4 februari 2009
rosett!

Tack för din hjälp.


Den sista javascript-koden jag slutade med, för er som är intresserade:

Kod: |_+_|

savar

6 juni 2003
District of Columbia
  • 4 februari 2009
Det verkar som att du har listat ut det, men du kanske också vill undersöka JSON.

JSON (Javascript Object Notation) låter dig koda JavaScript-objekt i en kompakt notation som kan skickas över tråden. De flesta andra språk har bibliotek för att analysera denna JSON till inbyggda objekt. Jag är säker på att om du undersöker det kommer du att få en bättre uppfattning om vad jag menar.