[RESOLU] Javascript - Liaison

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Javascript - Liaison

Re: Javascript - Liaison

par Ducreyr » 04 nov. 2014, 14:24

Problèmes

Javascript - Liaison

par Ducreyr » 04 nov. 2014, 09:57

Bonjour, amis développeurs!

J'ai un problème avec le Javascript / AJAX, language et technologie que je ne maîtrise guère. Je travaille avec le framework CakePHP 2.0.
Donc voici mon problème pas à pas :

Tout d'abord, ma vue liste toutes mes catégories et déclare les scripts, j'y assigne l'ID dans le lien <a>.

index.ctp:
<?php echo $this->Html->css('news', null, array('inline' => false));
	  echo $this->Html->script("https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js",false);
	  echo $this->Html->script("navigation.js");
?>
		<div id="news">
			<div class="container">
				<div id="infos">
                    <h3><?php echo $news[0]['News']['title']; ?></h3>
                    <?php echo $news[0]['News']['content']; ?>
					<?php foreach($categories as $k=>$v):?>
			                <div class="catRef">
			                    <a href="#" class="ajax" data-id="<?php echo $v['Category']['id']?>">
			                    	<?php echo $v['Category']['name']; ?>
			                    </a>
			                </div>
			        <?php endforeach; ?>
       			</div>
			</div>
		</div>
		<div id="projects">
		</div>

Voici mon script JS [alert(id) m'envoie bien mon ID].

navigation.js:

[javascript]$(document).on('click', '.ajax', function(event){
var element = $(this);
var id = element.attr("data-id");
// alert(id);
$.ajax({
type: "POST",
url: "test.ctp",
data: "id="+id,
success: function(msg){ // si l'appel a bien fonctionné
if(msg==1)
{
alert("Okay");
}
else
{
alert("Nope");
}
}
});
return false; // permet de rester sur la même page à la soumission du formulaire
});[/javascript]

Et voici le fichier test.ctp, appelé par le JS où j'essaie de transmettre mon ID.

test.ctp:
<?php
	$idCat = $_POST['id'];
	print_r($idCat);
?>
Ni les alert(), ni le print_r sort!
Une idée, une piste, une solution ?
Merci d'avance!

Cordialement,

DR