ajax gedraagt zich anders op vps dan op eigen server ?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hoi,
Ik ben bezig een vps in gebruik te nemen. Ik loop tegen een probleem op met json_encode.

query.php:
code:
1
2
3
4
5
<?
$a = array();
// doe een heleboel met a[]
echo json_encode($a);
?>


Dan haal ik in een ander script met jquery ajax() die data weer op.

Op mijn eigen server werkt dit prima. Op het vps krijg ik geen data binnen en ik zoek me rot. Alle javascript strings die ik met ajax ophaal zijn undefined. Het enige wat ik vind is een cryptische error in apache error.log:
code:
1
[error] [client x.x.x.x] File does not exist: /var/www/"http:, referer: http://x.x.x.x/path/query.php


Ik heb de hele array al doorgespit of ik iets van dat '/var/www/'http:' kan vinden maar noppes.
Dit snap ik dus echt niet.
Let wel, op m'n eigen server werkt het prima. Ook als ik de json_encode() weglaat uit query.php krijg ik geen error meer in apache's error.log, dus op de een of andere manier heeft het te maken met die functie. Er staat ook verder geen enkel pad of http:// gedoe in query.php.

Als ik dit:
code:
1
$.ajax({  url: "query.php?day=" + day, dataType: "json", success: function(data)


verander in:
code:
1
$.ajax({  url: "/volledigpad/query.php?day=" + day, dataType: "json", success: function(data)


verandert de foutmelding in:
code:
1
File does not exist: /var/www/var

Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Pak Firebug of een remote proxy erbij (bijv. Charles) en check wat er aangeroepen wordt. Simpelweg debuggen dus van de call die je uitvoert.

Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 14:15
Daar heb je niet eens Firebug voor nodig. Firefox heeft standaard een web console met een network tab waarin requests gelogd worden (Control-Shift-K) en Chromium heeft iets soortgelijks (maar dan onder Control-Shift-i).

Acties:
  • 0 Henk 'm!

  • jeepey
  • Registratie: Juli 2000
  • Laatst online: 17:25
Welke PHP versie draait er op je VPS? Voor json_encode heb je namelijk 5.2 of hoger nodig:
http://www.php.net/manual/en/function.json-encode.php

Vertalen.nu


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Firefox's webconsole geeft aan 'illegal character'. Na verder zoeken blijkt de fout te liggen aan het progje dat de mysql database met data vult, waardoor veel strings inderdaad leeg blijven. Zal wel iets met de Qt mysqldriver zijn wat nog niet lekker zit.
Edit: te vroeg gejuicht. Er is ook iets met de msyql kant maar die illegal character heb ik nog niet gevonden.
Morgen verder..

(kan er toch niet afblijven) Fout is opgelost, lag aan de mysql code.

Thanks.

[ Voor 106% gewijzigd door Verwijderd op 12-05-2012 17:55 ]