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