En ce moment, ce que j'essaie de faire est de remplacer une étiquette sur la première page par un bloc de HTML. En ce moment, la page a essentiellement:Problème avec l'utilisation de Jquery.ajax sur .load sur Zend
<label id="replace"></label>
les js a actuellement:
$(document).ready(function(){
$("#replace").load('/test');
});
la fonction de la classe Zend a:
public function indexAction(){
$this->_helper->layout()->disableLayout();
$this->_view->message = "This is from TestController index";
}
et enfin le modèle index.phtml a simplement:
<?php echo $this->message;?>
Droite maintenant, je veux changer le code afin qu'au lieu de simplement remplacer cette étiquette avec le même message, il ferait un POST où la fonction sortira un paramètre, fera quelque chose (comme par exemple, aller à la base de données et tirer quelque chose avec le paramètre POST), puis renvoyez le message.
J'ai essayé de modifier les js afin qu'il ressemblerait à ceci:
$.post('/test', {param : "test_param"},
function(data) {$("#replace").html(data);});
ou
$.ajax({
type: 'POST',
url: '/test',
data: "{param:test_param}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data) {$("#replace").html(data);}
});
ni travaillé. J'ai pris du recul et essayé de répliquer la fonctionnalité .load et faire:
$.ajax({
url: '/test',
success: function(data) {
$('#replace').html(data);
alert('Load was performed.');
}
});
et cela ne fonctionne pas non plus.
Quelqu'un a des conseils sur la façon de procéder?
J'ai changé le code un peu pour que je puisse voir s'il y a des erreurs qui apparaissent. J'ai ajouté: "error: function (msg) {alert ('Erreur survenue aveC#replace:' .msg);}" dans l'appel ajax et que Firebug signale une erreur: "missing} after property list" sur cette ligne. On dirait que je ferme correctement mes parens, donc je ne suis pas sûr de ce qui se passe là-bas. – Matthew
manquant virgule entre la fonction de succès et la fonction d'erreur – thetaiko
aussi dans 'alert ('Erreur est survenue aveC#replace:' .msg)' avant msg il devrait être un '+' –