Bonjour,

dans mon appli cake au niveau de mon layout default.ctp je fais ceci:

    //chemin pour que le Javascript puisse trouver les images
    echo $this->Js->set('url', $this->request->base); 

    echo $this->Html->script('main');

Ce qui me permet ensuite dans mon script main.js de faire des requetes ajax en ayant tjrs la bonne url dans la variable "app.url"

ie:

 $('.btnRegionRenta').on('change', function () {
            var group=$(this);
            var regionId=group.data("regionid");
            var phpData = {
                        "id":regionId,
                            };
            var linkAction = app.url+"/Users/rentaAjax/";
            $.post(linkAction,phpData,function(data)
            {   

                $("#renta_result").empty().hide().append(data).show();                                     

            },"json");
            return false;

Sauf que parfois celle ci n'est pas connu...j'ai l'impression que ça ne marche que lorsque je click ou fait une interaction, car app est chargé alors que des le départ non...ou un truc dans le genre..

Par exemple là je veux utiliser le plugin autocomplete, donc je l'initialise des que jQuery est chargé

    $(function() {     
        //init home chart
        initChart1();

        $('#top-search').autocomplete({
            serviceUrl: app.url+"Users/topsearch",
            //lookup: countries,
            lookupLimit: 5,
            onSelect: function (suggestion) {
                alert('You selected: ' + suggestion.value + ', ' + suggestion.data);
                suggestion.value="";
                suggestion.data="";
                $('#top-search').val("");
            }
        });

        }

Et là j'ai un beau message me disant que app.url n'existe pas.. ReferenceError: app is not defined
idem dans la fonction initChart1() qui est appelée des le chargement...

Merci pour votre aide, je ne maitrise vraiment pas le JS

a bientot

1 réponse


jey1985
Auteur

Bonsoir,
quelqu'un aurait une idée ?

merci par avance
je suis bien bloqué :(