Ik heb deze code staan:

<script>
$(".ja_knop").click(function() { 
	$(".nee_knop").removeClass("nee_knop").addClass("weg").html("Tot ziens!");
	var request = $.ajax({url: "feedback.php", type: "POST", data: { t : "<?php echo $p['title']; ?>", w : "1" }});
	request.done(function( msg ) { $("#rechterbovenhoek i").html("Opgeslagen!");});
	request.fail(function( jqXHR, textStatus ) {  alert( "Request failed: " + textStatus);});
});
</script>


jQuery is geladen (1.8.3) en alle werkt goed, behalve dat ik steeds de alert "Request failed: error" krijg.
Het bestand feedback.php staat in dezelfde map (de root) als de html-pagina waarop deze code staat.
Die pagina werkt ook gewoon en geeft óf KLAAR óf FOUT terug. Maar ik krijg er niets van terug.

Ik heb al ../feedback.php en ./feedback.php en /feedback.php geprobeerd, maar zonder succes.
Als ik in feedback.php een sleep(5) zet, duurt het wel 5 seconden voordat ik van Javascript de alert krijg.... dus het bestand wordt daadwerkelijk gevonden/geopend en op gewacht.


Dit is feedback.php:

<?php
header("HTTP/1.1 200 OK");
if (isset($_POST['w'], $_POST['t'])) {
	include ("includes/mysqli.php");
	$t = escape($_POST['t']);
	$w = intval($_POST['w']);
	$query = "
		INSERT INTO feedback 
			(
			pagina, 
			datumtijd, 
			waardering
			) 
		VALUES 
			(
			'" . $t . "',
			NOW(), 
			'" . $w . "'
			)";

	sql($query);
	echo 'Klaar!';
} else {
	echo 'Fout';
}
?>
Ja, dat klopt!
Bij mij ook.
Maar dat doet hij dus niet.
Ik wil het, zoals Twitter ook doet: eerst zeggen dat het is opgeslagen, en daarna (ondertussen) het echte opslaan.

Lukt het dan niet... dan gooi ik wel een grotere melding (hoewel dat de bezoekers ook niets boeit).
Let goed op de alert die je krijgt.
Eddy E op 13/10/2013 11:53:52

@Erwin: ik zie helemaal geen resultaat terug komen. Ik zie alleen maar "Error", dus het stuk van jQuery van .fail().
De server-kant zit goed. Ik heb nu (tijdelijk) even $_POST['w'] en $_POST['t'] bovenaan ingevuld en het werkt direct wel goed (de PHP-pagina dus). Zelfs dan krijg ik via de AJAX een 'error' terug.

Misschien begrijp ik je nog steeds niet, maar ik krijg van de server als resultaat van de ajax call 'Klaar!' terug. Geen error. Dat is toch wat je wil?

... krijg jij het wel? Ik op Opera en Chrome niet. Vaag...

Is dit mijn browsers fout?
In FF werkt het volgens mij.
In Chrome krijg ik ook "Klaar" terug
Wat een .... ellende.
In Opera krijg ik nog steeds 'error' terug.
En bij jullie gaat het wel goed? Vaaaag...

Reageren