Door
Daan Vee
op 28-02-2018 10:52
gewijzigd op 28-02-2018 10:57
2.879 views
Ik post via jquery informatie naar een andere pagina die alles in een databse stopt.
Vervolgens geeft die pagina een variable: $newTitleID = $conn->lastInsertId();
Hoe kan ik dit variable opvragen via jquery?
Ik wil namelijk het lastinsertid gebruiken in mijn indexpagina.
Als ik: alert( "Data Loaded: " + data ); opvraag, zit die variable daarin.
Ik weet alleen niet hoe dit precies heet, dus hoe ik moet zoeken....
Je kan niet zomaar een PHP-variabele ophalen in JavaScript. Daarom zul je dus een AJAX-functie moeten maken die de door PHP geparste waarde ophaalt. Ik kan echter niet uit je verhaal opmaken om je dat al hebt.
Je kan verder met console.log() prima debuggen met behulp van je debugging-functies in je browser.
Met jQuery Ajax kun je dit doen, je POST naar een pagina die geeft een JSON string terug. Bijvoorbeeld:
{"succes": true, "object": {"id": 1}}
{"succes": false, "message": "Er is een fout opgetreden"}
Met de jQuery kun je die JSON weer afvangen:
$.ajax({
// Hier de rest van je Ajax
success: function(data) {
if (data.success) {
alert(data.object.id);
} else {
alert('Er is een fout opgetreden: ' + data.message);
}
},
error: function(data) {
alert('Er is een fout opgetreden');
}
});
Ik weet niet of dit precies is wat ik bedoel, ik zal het proberen duidelijk uit te leggen.
index.php:
Stuurt via jquery gegevens naar verwerken.php
verwerken.php
verwerkt de gegevens, verstuurt via index.php en geeft na het opslaan in de database (wat goed gaat) $newTitleID = $conn->lastInsertId(); terug.
Nu wil ik op index.php $newTitleID weergeven....
Als ik op index.php: alert( "Data Loaded: " + data ); opvraag, zit het $newTitleID daarin, maar hoe kan ik 'm daarna los weergeven?
Ik wil namelijk de volgende code die dan wordt ingevoegd voorzien van dat ID:
Dit regel je in je callback functie (het "success" blok waar @Joakim aan refereert). Daar moet "wrapper" wel bekend zijn uiteraard. Deze functie krijgt een schop terug als verwerken.php zijn werk heeft gedaan. En in die callback kun je ook informatie terugkrijgen (de "data" parameter in de "success" functie, deze is afkomstig van wat verwerken.php uitspuugt).
Het is handig om het gedrag van dit soort functionaliteit op één plek te definiëren, want in zekere zin hoort dit bij elkaar - het plaatsen van een bericht, visuele terugkoppeling op het scherm, dit is allemaal onderdeel van de AJAX chatbox, of wat je ook probeert te maken.
Als ik dit zo aan het einde van update.php verpak. Kan ik 'm dan in index.php weer ophalen?
Ik snap niet wat je bedoelt Arien. Doe ik het zo goed? Ben een leek op dit gebied...
Ik zou zeggen: Debug eens en echo die json_encode. En speel er eens mee tot je de gewenste uitvoer krijgt.
Vroeger was ik ook een leek, maar met het grasduinen in de php.net site heb ik steeds meer geleerd. ;-)
?
Onbekende gebruiker
02-03-2018 11:06
Daan Vee op 02/03/2018 10:04:45
Als ik dit zo aan het einde van update.php verpak. Kan ik 'm dan in index.php weer ophalen?
Ik snap niet wat je bedoelt Arien. Doe ik het zo goed? Ben een leek op dit gebied...