11496 sujets

JavaScript, DOM et API Web HTML5

Bonjour a tous !

Petit soucis aujourd'hui. Mais vraiment minuscule mais impossible de trouver la solution ! Le voici :

Lors du clique sur mon lien .marked, j'ai une fonction en ajax qui est appelée (page love.js)
$(".marked").click(function() 
{
	var parent  = $(this);
	var id = $(this).attr("id");
	var likes = $('.love .likes').attr("id");
	var likes_lessone = parseInt(likes) - parseInt(1);
	$.ajax({
		type: "POST",
		url: "../function/function_dislikes.inc.php",
		data: { "id":id },
		cache: false,
		success: function(html)
		{
			$('.love a').addClass("normal");
			$('.love a').removeClass("marked");
			$(".love .texte").html("Tu aimes ce projet ?");
			$(".love .likes").html(likes_lessone + " likes");
		}
	});
	return false;
});


Et dans ma page function_dislikes.inc.php, je met un echo car ma requete SQL ne fonctionne pas, suivi d'un exit / die. Mais rien ne s'affiche. Quelqu'un saurait-il me dire pourquoi ?
<?php
require '../config/config.inc.php';
connexion_bdd();
$adresse_ip = $_SERVER['REMOTE_ADDR'];

if($_POST['id'])
{
	$client_num = $_POST['id'];
	$del	= "DELETE FROM client_ip WHERE ip_add = '".$adresse_ip."' AND client_num = '".$client_num."')"; echo $del; exit();
	$query_del = mysql_query($del) or die (mysql_error());
	if($query_del)
	{
		$update = "UPDATE client SET client_likes = client_likes - 1 WHERE client_num = '" . $client_num . "'";
		$query_up = mysql_query($update) or die (mysql_error());
	}
}
deconnexion_bdd();
?>

Modifié par fanny95 (28 Jan 2014 - 11:48)
Parce qu'une page .php en ajax ne s'affiche jamais. Echo ou pas.

pour avoir ton echo, il faut récupérer la données en javascript et l'afficher avec un alert.

Après, ma solution personnelle pour tester un fichier ajax, c'est de "forcer" les variables $_POST ou $_GET.

Voilà par exemple un de mes ajax :
$.ajax({
		url:"ajax.blabla.php",
		type:'POST',
		data: "data1=3&data2="+idMonstre,
		dataType: 'json',
		success: retour_php,
	});


Dans mon fichier ajax.blabla.php, je "force" $_POST ainsi (en imaginant que idMonstre vaut 4):
<?php
$_POST['data1']=3;$_POST['data2']=4; 


Tout en haut du fichier, ça permet de simuler l'envoie des données (sans se casser la tête).

Puis j'appelle avec le navigateur ajax.blabla.php

C'est jusqu'à présent le plus simple que j'ai trouvé pour débugger des fichiers appelé en ajax Smiley langue
Modifié par Lothindil (28 Jan 2014 - 14:00)
Dans Firefox avec Firebug : onglet "Réseau" > "XHR"

Ensuite tu lances ta fonction qui appelle ta page en ajax et cette dernière apparaitra dans la liste des requêtes. Tu cliques dessus pour l'ouvrir et tu cliques sur cliques sur l'onglet "réponse" et là tu verras le résultat de ton script php (avec le echo et tout le tralala).

Sinon avec la console de Chrome (outils de développement) c'est dans l'onglet Network, puis response.