Instanciation d'une classe JS
Bonjour je découvre la POO js et ça bloque un peu. J'ai une classe série que voici (dans le fichier Serie.js)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
function Serie(code_serie,seriesInstanceUID, studyInstanceUID,descriptionSerie, modaliteSerie,nbImageSerie,tabSOPInstanceUID )
{
this.code_serie=code_serie;
this.seriesInstanceUID=seriesInstanceUID
this.studyInstanceUID=studyInstanceUID;
this.descriptionSerie=descriptionSerie;
this.modaliteSerie=modaliteSerie;
this.nbImageSerie=nbImageSerie;
this.tabSOPInstanceUID=tabSOPInstanceUID;
this.getCode_serie=function()
{
return code_serie;
}
this.getSeriesInstanceUID=function ()
{
return seriesInstanceUID;
}
this.getStudyInstanceUID=function()
{
return studyInstanceUID;
}
this.getDescriptionSerie=function()
{
return descriptionSerie;
}
this.ModaliteSerie=function ()
{
return modaliteSerie;
}
this.NbImageSerie=function ()
{
return nbImageSerie;
}
this.TabSOPInstanceUID=function ()
{
return tabSOPInstanceUID;
}
} |
et je l'instancie dans une méthode qui reçois des données en provenance d'un fichier php via ajax. La méthode que voici ce trouve dans le fichier ajax.js
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| function getSerie(xhr)
{
// récupération du fichier xml demandé au serveur
var docXML= xhr.responseXML;
alert(xhr.responseText);
var itemsCodeSerie = docXML.getElementsByTagName("code_serie");
var itemsSerieInstanceUID = docXML.getElementsByTagName("serieInstanceUID");
var itemsStudyInstanceUID = docXML.getElementsByTagName("studyInstanceUID");//balise StudyInstanceUID du xml reçu
var itemsDescription = docXML.getElementsByTagName("descriptionSerie");
var itemsModalite = docXML.getElementsByTagName("modaliteSerie");
var itemsNbimage= docXML.getElementsByTagName("nbImageSerie");
var itemsSOPInstanceUID = docXML.getElementsByTagName("image");
// Sauvegarde des données provenant du xml
var codeSerie=itemsCodeSerie.item(0).firstChild.data;
var serieInstanceUID=itemsSerieInstanceUID.item(0).firstChild.data;
var studyInstanceUID=itemsStudyInstanceUID.item(0).firstChild.data;
var description=itemsDescription.item(0).firstChild.data;
var modalite=itemsModalite.item(0).firstChild.data;
var nbImage=itemsNbimage.item(0).firstChild.data;
for (var i=0;i<itemsSOPInstanceUID.length;i++)
{
// récupération de chaque SOPInstanceUID contenu dans les balises images de la série en cours
sopInstanceUID[i]=itemsSOPInstanceUID.item(i).firstChild.data;
}
// instanciation de la classe Serie
var serie=new Serie(codeSerie,seriesInstanceUID,studyInstanceUID,description, modalite,nbImage,sopInstanceUID );
alert("le code série est "+ serie.getCode_serie());
} |
Je reçois bien mes données du php, les variables sont bien renseignées mais lorsque j'instancie ma classe, ça ne marche plus du coup le
Code:
alert("le code série est "+ serie.getCode_serie());
n'ai jamais affiché. j'ai fait des alerte avant l'instanciation de la classe série et tout marche. au niveau de l'appel en html j'ai bien mis les entêtes dans le head
Code:
1 2
| <SCRIPT src="ajax.js"></SCRIPT>
<SCRIPT src="Serie.js"></SCRIPT> |
Je ne vois pas pourquoi cette instanciation bloque mon code.
merci