Javascript - Liaison
Posté : 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:
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:
Une idée, une piste, une solution ?
Merci d'avance!
Cordialement,
DR
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