Beste mensen,
Ik ben met prototype een klein stukje AJAX aan het implementeren. Nadat de user middels een link de functie triggert is het de bedoeling dat er een pagina aangeroepen wordt waarbij PHP een stukje JSON teruggeeft waar vervolgens weer wat mee gedaan word in JS.
Ikzelf ben redelijk nieuw met JSON en prototype maar verder niet met JS an sich. Ik gebruik gewoon dit stukje code voor de AJAX aanroep:
Ik heb de URL hier wat ingekort maar deze klopt iig wel. Ik krijg nu constant de melding dat het 'no JSON object' is en de volgende alert geeft steeds 'null'.
PHP geeft dit stukje JSON terug:
Wat er uiteraard meer kunnen zijn.
Ik las dus dat je wel een x-json header moest meesturen om prototype het te laten herkennen. Dus ik dit toegevoegd aan mijn PHP stukje:
En ik heb ook 'text/javascript' geprobeerd omdat ik dit ergens via Google vond, maar beide hebben geen effect.
Ik heb dit geprobeerd en dat werkt prima:
Iemand enig idee waar het hier aan ligt?
Ik ben met prototype een klein stukje AJAX aan het implementeren. Nadat de user middels een link de functie triggert is het de bedoeling dat er een pagina aangeroepen wordt waarbij PHP een stukje JSON teruggeeft waar vervolgens weer wat mee gedaan word in JS.
Ikzelf ben redelijk nieuw met JSON en prototype maar verder niet met JS an sich. Ik gebruik gewoon dit stukje code voor de AJAX aanroep:
JavaScript:
1
2
3
4
5
6
| new Ajax.Request('/loadProducts/'+id, { method:'get', onSuccess: function(transport, json){ alert(json ? Object.inspect(json) : "no JSON object"); alert('Json: \n'+json); } }); |
Ik heb de URL hier wat ingekort maar deze klopt iig wel. Ik krijg nu constant de melding dat het 'no JSON object' is en de volgende alert geeft steeds 'null'.
PHP geeft dit stukje JSON terug:
JSON:
1
| [{"id":1, "product": "Test 1"}] |
Wat er uiteraard meer kunnen zijn.
Ik las dus dat je wel een x-json header moest meesturen om prototype het te laten herkennen. Dus ik dit toegevoegd aan mijn PHP stukje:
PHP:
1
| header('Content-type: text/x-json'); |
En ik heb ook 'text/javascript' geprobeerd omdat ik dit ergens via Google vond, maar beide hebben geen effect.
Ik heb dit geprobeerd en dat werkt prima:
JavaScript:
1
2
| d = '[{"id":1, "product": "Test 1"}]'.evalJSON(); alert('ID: '+d[0].id+'\nProduct: '+d[0].product); |
Iemand enig idee waar het hier aan ligt?
Parse error: syntax error, unexpected GOT_USER in https://gathering.tweakers.net on line 1337