Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour je fais du ajax avec jquery dans mon application.J'ai mis le fichier conf_ajax.js dans le rep public/js
et il contient
$(document).ready(function(){ $("#typedem").change( function() { $.post("/milla/public/ajax.php", { typedem: $(this).val() }, function(data){ $("#selinv").html(data); }); }); });
mais la ligne $.post("/milla/public/ajax.php" je sais que c'est pas la meilleur façon de faire je peux ne pas connaitre la racine de mon site.C'est réglé avec une aide de vue qui se trouve dans le celebre akrabat-zend-framework
Mon probléme c'est comment passer la réponse dans le parametre $.post pisque c'est du php
Je sais pas si je me fais comprendre
Hors ligne
J'ai pas tout compris à ton soucis, mais il y a des posts qui expliquent l'intéraction entre ajax (JQuery) et ZF.
par exemple :
http://www.z-f.fr/forum/viewtopic.php?id=4359
Hors ligne
Merci mais je pense pas que c'est de ça que je parle.
Mon probleme c'est comment indiquer dans le fichier js <?php echo $this->baseUrl();?>/public/js/ dans le parametre de $.post à la place de /milla/public/ajax.php
Hors ligne
Salut, moi en fait j'ai trouvé une solution tout bête à cela, je me base sur le balise html <base> que je remplis avec le helper en php
Puis en js, je l'exploite. J'ai fais un petit plugin jquery que voici.
/** * rx.baseUrl for jQuery * * Allow you to get the current base url for example for ajax * It get the href of the thml tag <base> or get it from the window.location * * Usage : $.baseUrl() * * @author Maxime Thirouin <dev@moox.fr> * * $Rev: 5 $ */ (function($) { //If the rx scope is not available, add it $.rx = $.rx || {}; $.rx.baseUrl = null; $.rx.buildBaseUrl = function() { var base = $('base').attr('href'); if (base) { $.rx.baseUrl = base; if ($.rx.baseUrl.lastIndexOf('/') != $.rx.baseUrl.length - 1) { $.rx.baseUrl += '/'; }; } else { $.rx.baseUrl = window.location.href; var li = $.rx.baseUrl.lastIndexOf('/'); if (li != $.rx.baseUrl.length - 1) { $.rx.baseUrl = $.rx.baseUrl.substring(0, li+1); } } }; if ($('head').length==1) { $.rx.buildBaseUrl(); } else { $($.rx.buildBaseUrl); } $.baseUrl = function(){ return $.rx.baseUrl; }; })(jQuery);
Hors ligne