AJAX driller

Tags:    ajax

<< < 12 > >>
Hej
Jeg har nu forsøgt diverse forskellige muligheder for at benytte AJAX på min hjemmeside, og har i første omgang lavet et blank system hvor jeg laver simple funktioner med AJAX. Jeg har haft held med at kunne få det hele til at virke, med innerHTML undtagen når jeg skal have db på, og med JSON er der intet der virker. Jeg har forsøgt i Chrome om Firefox på både Windows 7 og Mac OS X med henholdsvis XAMPP 1.8.x og MAMP 2.x.x. Ingen af disse virker.
Jeg har fulgt denne guide: http://www.nemprogrammering.dk/Tutorials/jQuery/jQuery7_introduktion-til-ajax-og-post.php
og har ligeledes forsøgt at hente kildekoden fra videoen og forsøgt med denne, dog uden held.
Når jeg trykker submit, sker der intet.
Jeg har taget følgende informationer fra web-konsollen i Firefox:
Fold kodeboks ind/udKode 

Ifølge dette, så skulle php-filen være indlæst, men jeg får intet ud på skærmen. Jeg har tjekket at JSON er med i MAMP, men ikke XAMPP, da jeg primært udvikler i Mac OS X og kun bruger windows til at tjekke om tingene virker korrekt.



15 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
#Offtopic: Dan, kan du røbe dit software til lynhurtigt at screencappe med de figurer også?

@Rasmus Knudsen: En kombination af screenshots i OS X og Skitch http://evernote.com/skitch/



aha hvordan ser din kode ud der henter / sender AJAX requesten ?



Indlæg senest redigeret d. 05.12.2012 12:39 af Bruger #17081
Den er lige præcis som den han viser i videoen.
index.php:
Fold kodeboks ind/udHTML kode 

post.php:
Fold kodeboks ind/udPHP kode 

Jeg har kun kopieret formular og jquery-scriptet fra index.php. Der er selvfølgelig standard html opbygning i filen.



jeg tror du skal opsætte det som et jsonp kald i stedet for et almindeligt json ... det kan være det får det til, at virke bedre :)

Hvad får du tilbage hvis du kigger under netværk og så kigger i response i developer tool ?
Beskrivelse af hvordan du finder det



Indlæg senest redigeret d. 05.12.2012 13:08 af Bruger #17081
I din post.php returnerer du dit array med print_r.

Måske skal det konveteres til json før du returnerer det?
Ellers modtager dit ajax-kald et array og prøver at håndtere det som json.
Måske tager jeg fejl, ved ikke om det burde ske automatisk?

Ellers prøv i post.php
Fold kodeboks ind/udPHP kode 

i stedet for dit print_r.



Indlæg senest redigeret d. 05.12.2012 13:16 af Bruger #16319
Vil egentlig bare sig jeg er enig med ham der @Rasmus Knudsen ... også derfor jeg ville have dig til, at vise response du fik tilbage.



Indlæg senest redigeret d. 05.12.2012 14:46 af Bruger #17081
Ja som Dan skriver, så er det altid en rigtig god idé at tjekke sin response. Kan ikke rose Developer Tools i Chrome nok her :).

Når du så er sikker på din response er korrekt, kan du udelukke din serverside-kode og ved nu at resten af problemet ligger i din javascript.
Det er god træning fremover også!

#Offtopic: Dan, kan du røbe dit software til lynhurtigt at screencappe med de figurer også?



Indlæg senest redigeret d. 05.12.2012 14:08 af Bruger #16319
er du sikker på du retunerer json ??
det kan god være du sætter en header som json men er dit return json
hvis du kigger i din response er det ikke json

prøv at rette post.php til
Fold kodeboks ind/udKode 






json_encode hjalp. Så må jeg jo se om jeg kan finde ud af at gøre det med med database-afhængige scripts.



json_encode hjalp. Så må jeg jo se om jeg kan finde ud af at gøre det med med database-afhængige scripts.


Dit ajax-kald er jo ligeglad med om der er en database i den anden ende.
Den modtager bare det response dine scripts returnerer. Så kan du lave alt det du lyster i din serverkode, bare du echoer det som json. Du kan for den sags skyld også returnere hele dit layout gennem ajax, det gør absolut ingen forskel og er hverken langsommere eller mere ressource-krævende.



<< < 12 > >>
t