Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
634 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [Javascript] Ajax + Classe

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Javascript] Ajax + Classe

n°2232737
Eagles Eye​s
Posté le 04-07-2014 à 20:58:28  profilanswer
 

Salut,
Dans un fichier .js je crée une classe contenant plusieurs méthodes dont:
changeDir et analyseResponse
 
Le méthode changeDir fait une requête ajax dont la réponse est traitée dans la méthode analyseResponse. Le problème c'est que mes variables this.objID, this.api et leur amies ne sont pas définies dans la méthode analyseResponse.
 
Je n'ai aucune idée de comment résoudre le problème... un petit coup de main svp ?
 
***** Début code source *****
 
function treeManager(objID, initialPath) {
 this.objID = objID;
 this.curDir = "";
 this.api = undefined;
 this.initPath = initialPath;
        this.request;
 
 this.analyseResponse = function (response, textStatus, jqXHR){
  var html = '<div class="menuItem" onclick=\'changeDir(".." )\'>Parent Directory</div>';
  var itemList = response.split("@@" );
  itemList = itemList.sort(function(a,b){
   a = a.toLowerCase();
   b = b.toLowerCase();
 
   if( a > b )
   return 1;
  if( a < b )
   return -1;
 
  return 0;
  });
 
  for(var idx in itemList) {
   if( itemList[idx] != "" )
                  html += '<div class="menuItem" onclick=\'changeDir("' + itemList[idx] + '" )\'>' + itemList[idx] + '</div>';
  }
 
  if( this.api != undefined ) {
   this.api.destroy();
  }
  $('#' + this.objID).html(html);
  this.api = $('#' + this.objID).jScrollPane().data('jsp');
 }
 
 this.changeDir = function(path) {
  this.request = $.ajax({
   url: "/cgi-bin/test.pl",
    type: "post",
    data: "path="+this.curDir+"/"+path,
    success: this.analyseResponse,
  });
 
  if( this.curDir != "" ) {
   this.curDir += "/";
  }
 
  this.curDir += path;
  console.log(this.curDir);
 }
 
 this.init = function() {
  $('#' + this.objID).css('top', $('#header').height());
  this.changeDir(this.initPath);
 }
 
}
 
***** Fin code source *****

mood
Publicité
Posté le 04-07-2014 à 20:58:28  profilanswer
 

n°2232764
Eagles Eye​s
Posté le 05-07-2014 à 13:21:06  profilanswer
 

Finalement j'ai trouvé il faut ajouter un contexte à la requête ajax....


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [Javascript] Ajax + Classe

 

Sujets relatifs
Avec IE8, mes données avec AJAX disparaissent d'une page à l'autre !JAVASCRIPT > problème de vérification mail (formulaire)
javascript, je n'arrive pas a faire fonctionner ma galerie d'images[OK] comment integrer lien dans slideshow javascript
Changer le contenu d'une balise HTML avec JavascriptDébuter AJAX - multi utilisateurs
[PHP/Javascript] API Google Maps : marqueur ne fonctionne pasUtilisation d'objets d'une classe dans une autre.
Jouer une animation (JavaScript)Besoin d'aide pour mon programme javascript
Plus de sujets relatifs à : [Javascript] Ajax + Classe


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR