AJAX kald giver fejl 500

Tags:    codeigniter ajax

<< < 12 > >>
Hej
Jeg har i min webapplikation brug for at foretage nogle ganske få AJAX kald, men det giver mig lidt udfordringer.
Jeg har følgende script-blok i min view-file.
Fold kodeboks ind/udJScript kode 


Jeg har i metoden runci følgende:
Fold kodeboks ind/udPHP kode 


Jeg har i min PHP-metode også forsøgt at benytte både print og echo af min json_encode, men lige meget hvad, så fremkommer der følgende i konsollen på Dev Tools i Chrome:
Fold kodeboks ind/udKode 


Jeg har også forsøgt at kalde metoden via index.php/install/runci

Hvis jeg går direkte til metoden via browserens adressefelt, så returneres ovenstående array i de tilfælde hvor jeg burger print eller echo og data vises, men når det skal gå igennem AJAX, så virker det åbenbart ikke.

Har nogen en god ide til at hvad der går galt?



14 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Fejl 500 er en server side fejl, så hvad siger din Apache log?



Der er intet i hverken apache log og php log.Jeg ved at min webserver kan håndtere AJAX kald, da jeg har bygget andre applikationer i ren PHP hvor det har virket fint.



Prøv at tilgå adressen du kalder asynkront direkte, får du så ikke en mere sigende fejlmeddelelse ?



Hvis du trykker på adressen i konsollen i Chrome Developer Tools, så kommer du ind under "Network". Hvis du så klikker på kaldet, kan du se svaret serveren kommer med, under "Preview" og "Response" fanerne. Det svarer til det Jokke siger, udover at du har dine POST-data med. (Som I øvrigt kan ses under "Headers" fanen.)





Du kan også installere Postman fra Chrome Web Store, den gør det nemt at debugge REST/Ajax.
Og så tror jeg nu stadig, at der er en logfil, du har overset. På en Ubuntu finder jeg loggen i /var/log/apache2/error.log.

Her er et par eksempler, som vil give en fejl 500 OG blive logget:

Fejl:
Fold kodeboks ind/udKode 

Log:
Fold kodeboks ind/udKode 


Fejl:
Fold kodeboks ind/udKode 

Log:
Fold kodeboks ind/udKode 


Fejl:
Fold kodeboks ind/udKode 

Log:
Fold kodeboks ind/udKode 


Fejl:
Fold kodeboks ind/udKode 

Log:
Fold kodeboks ind/udKode 




Lige et par svar på jeres spørgsmål.

Den forespurgte URL kan tilgås direkte via browseren, både med og uden index.php i min URL. Her vises de data som kommer med echo fra min funktion.

I Chrome Dev Tools kan jeg i Preview se at CI returnerer følgende fejl:
Fold kodeboks ind/udKode 


På min installation er der kun php log, apache log og mysql log, da det er en standard MAMP installation.

Den interne logfil i CI giver heller ikke noget når log_threshhold er sat til 1, hvor den kun logger fejl og php errors
Sættes denne til 4, hvor den logger alt, så får jeg en komplet page request i loggen og efter Total Execution Time, får jeg dette:
Fold kodeboks ind/udKode 


Jeg kunne forestille mig at det jeg får til sidst i loggen er min AJAX request som bliver afbrudt uden at returnere fejl.



Og hvad får du, hvis du kigger i response tab'en på Chrome dev tools?



I response kommer der indholdet af en standard CI error page som HTML.



Indlæg senest redigeret d. 20.02.2015 17:00 af Bruger #17072
Der står vel noget om hvilken fejl det er



Nej. Der står intet ud over de ting jeg har givet jer. Normalt ville jeg bruge logfilerne til fejlsøgningen, men når der intet er i dem hverken i min MAMP installation eller på min webserver, så må det jo være en 500 fejl som CodeIgniter laver ved at fange fejlen internt uden at logge den.



Indlæg senest redigeret d. 20.02.2015 21:37 af Bruger #17072
<< < 12 > >>
t