Ik heb eeb probleem met AJAX / Javascript waar ik maar niet uit kom, het gaat om de data overdracht.
Via AJAX roep ik de volgende functie aan in PHP :
Wanneer ik via een alert de response bekijk in javascript krijg ik het volgende terug:
Dit ziet er naar mijn idee nog goed uit.
Nu wil ik dit omgezet hebben naar een Object zodat ik m.b.v. object.key de waarde van dat veld uit kan lezen en dit krijg ik niet voor elkaar.
JSON.parse(data) geeft een foutmelding
JSON.parse(JSON.stringify(data)) geeft een string terug i.p.v. een object.
Hieronder een stukje van de Javascript code:
Voor de duidelijkheid heb ik achter de coderegels aangegeven of iets werkt of niet.
Wanneer ik de commentaarstrepen voor "dataType : 'json'" weg haal krijg ik een parse-error te zien.
In het "echte" programma krijg ik veel meer data terug dan hier in het voorbeeld programma, vandaar mijn wens om met de keys te kunnen werken.
Wie helpt mij uit de brand ?
Via AJAX roep ik de volgende functie aan in PHP :
Code:
function register()
{
$test = array();
$test['functie'] = 'test_functie';
$test['k11'] = 'v11';
$test['k12'] = 'v12';
echo(JSON_encode($test));
}
Wanneer ik via een alert de response bekijk in javascript krijg ik het volgende terug:
Code:
{"functie":"test_functie","k11":"v11","k12":"v12"}
Dit ziet er naar mijn idee nog goed uit.
Nu wil ik dit omgezet hebben naar een Object zodat ik m.b.v. object.key de waarde van dat veld uit kan lezen en dit krijg ik niet voor elkaar.
JSON.parse(data) geeft een foutmelding
JSON.parse(JSON.stringify(data)) geeft een string terug i.p.v. een object.
Hieronder een stukje van de Javascript code:
Code:
var tst = {}
tst['functie'] = 'register1',
tst['k1'] = 'v1';
tst['k2'] = 'v2';
var t2 = tst;
$.ajax({
url : url,
data : t2,
method : 'POST',
// dataType: 'json', // Choosing a JSON datatype
success : function(data) {
alert('Data : '+data);
alert('Stringify : '+JSON.stringify(data));
// alert('Parsed : '+JSON.parse(data)); // Geeft foutmelding
alert('functie : '+jQuery.parseJSON(JSON.stringify(data)).functie); werkt niet (undefined0
ex = jQuery.parseJSON(JSON.stringify(t2));
alert('Ex : '+ex.functie); // Werkt correct
}
});
Voor de duidelijkheid heb ik achter de coderegels aangegeven of iets werkt of niet.
Wanneer ik de commentaarstrepen voor "dataType : 'json'" weg haal krijg ik een parse-error te zien.
In het "echte" programma krijg ik veel meer data terug dan hier in het voorbeeld programma, vandaar mijn wens om met de keys te kunnen werken.
Wie helpt mij uit de brand ?
Laatst bewerkt: