jquery ajax, call uitgevoerd, success: niet verwerkt
Door
Onbekende gebruiker
op 30-06-2020 14:27
2.758 views
Ik wil dmv een ajax call data in mijn database zetten. Ik krijgt mijn code alleen niet werkend. Hier eerst een snippet van de code:
$('#opslaan').click(function(){
var sRoepnummer = $('#roepnummer').val();
var sCsrf = $('input[name=csrf_test_name]').val();
var sText = $('#text').val();
var url = "http://www.***.nl/index.php/ajax/bericht/";
var data = {roepnummer: sRoepnummer, csrf_test_name: sCsrf, text: sText};
$.ajax({
url: url,
type: 'post',
data: data,
headers: {'X-Requested-With': 'XMLHttpRequest'},
dataType: 'json',
success: function(response){
alert(response);
}
});
})
Ik zou verwachten dat ik bij clicken op de button 'opslaan' nu een alert zou krijgen met de inhoud van response. Ik zie echter niets. Wanneer ik in het network tab van firefox kijk zie ik dat de call wel uitgevoerd word en zie ik ook dat ik de juiste response terug krijg.
Ik ben redelijk nieuw met ajax, maar ik kan niet vinden waar ik de mist in ga. Ook niet met behulp van de documentatie.
Als de call werkt, en je de juiste response (hopelijk weet je zeker dat die response klopt), en er geen database-actie plaatsvindt. Dan lijkt mij dat je PHP-script ergens niet goed werkt. Kan je dit niet droog uittesten? Ook zou je juist op zulke momenten een fout terug moeten sturen, zodat je een nette error kan tonen in je site.
Zorg wel dat je alle toeters en bellen van de foutafhandeling even aanzet.
Los van dit issue vraag ik me af of die URL wel klopt? Vaak met een URL-rewrite negeer je de index.php in de URL namelijk ;-)
Even een 'heads up'.....
Kun je de code van je php file eens tonen waar de data verwerkt wordt en hoe je de response terugstuurt?
?Onbekende gebruiker
30-06-2020 15:51
De response die ik terug krijg op het netwerktab van firefox is precies wat ik verwacht.
De call zelf word juist uitgevoerd. Op dit moment geef ik hard-coded in het php file die aangeroepen word als echo de string "Response van bericht". In het netwerktab zie ik ook dat dit de response is die ik terug krijg. De alert() bij success: word alleen niet uitgevoerd.
Overigens, wanneer ik onderstaande code gebruik krijg ik de alert wel, met de juiste response (de geechode string). Dat doet mij denken dat er ergens in mijn javascript/jquery iets niet pluis zit.