Avatar billede netkoen Nybegynder
08. juni 2009 - 09:34 Der er 5 kommentarer og
1 løsning

PHP, Protype, Ajax og Mysql - opdateringsproblem

Hej Alle..

Jeg har lavet nogle små sider ved hjælp af PHP og frameworket Prototype. Har brugt Prototype´s Ajax funktioner og det virker sådan set ganske fint, dog med et meget stort problem..

Jeg har følgende kode:

//Ajax funktion som kalder PHP side..
function getCityValues(){

    var url = '../../CMS/functions/getCityValues.php';
    var pars = 'city=' + $F('city');

    var target = 'cityValues';   
    var myAjax = new Ajax.Updater(target, url, {method: 'get', parameters: pars});           
    }

PHP siden som kaldes gør ikke så meget andet end bare at hente data fra Mysql serveren og returnere det i noget HTML, hvilket sådan set også virker..

Når ovenstående script returnere data, kan jeg så opdatere værdierne ved et ganske almindelig <form action="self" method="get"> og så noget PHP til at opdatere værdierne. Kontrollerer jeg dernæst i databasen kan jeg se at ændringerne er sket.

Problemet opstår så når jeg kalder ovenstående script igen, på samme by. Så henter den de gamle data. Jeg skal lukke browseren helt og starte op igen for at få de nyeste data.. Det mærkelige er så at henter jeg værdierne fra databasen, udenom Ajax scriptet, så hentes de nyeste data..

Opsumering: Database opdateres, men gammel data hentes når Ajax script kaldes

Nogen der har en ide om hvorfor den gør det? Er ganske ny til Prototype og Ajax, så kan nemt have lavet en stor fejl..

Venlig Hilsen Daniel
Avatar billede majbom Novice
08. juni 2009 - 10:13 #1
prøv at sæt følgende ind i din php-fil:

header("Cache-Control: no-cache");
header("Pragma: nocache");

desuden bør du dog ikke returnere data i html-format, men enten i xml eller json og så behandle det når du får det tilbage.
Avatar billede netkoen Nybegynder
08. juni 2009 - 11:01 #2
Okay..

Det vil jeg prøve inden så længe.. Nogen grund til at man ikke må returnere HTML?
Avatar billede majbom Novice
08. juni 2009 - 11:17 #3
det er ikke det ajax er designet til:

Asynchronous Javascript And XML


du kan som sagt også bruge JSON
Avatar billede netkoen Nybegynder
08. juni 2009 - 14:16 #4
splazz vil næsten kalde dig en snuske, men det er nok en smule for mærkeligt.. Du skal i hvertfald have et stort tak for hjælpen, det var lige det der skulle til..

Så smid dit svar og de 60 point er dine.. Endnu engang tak..
Avatar billede majbom Novice
08. juni 2009 - 19:42 #5
selv tak ;)
Avatar billede majbom Novice
09. juni 2009 - 07:41 #6
tak for point
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester