Appel ajax via commande domUtils.ajax(paramsAJAX);

Chaque appel ajx retourne systématiquement l’erreur suivante :

Errror JS > TypeError >  TypeError: tile.childNodes[0].getAttribute is not a function
    at Object.success (getResource.php?file=core/js/eqLogic.class.js&md5=31a917638f082489c01af255bdf7b600&lang=fr_FR:480:36)
    at Object.success (getResource.php?file=core/js/private.class.js&md5=8a0399eaf1aeadf0a3c7a14392d068a4&lang=fr_FR:114:17)
    at getResource.php?file=core/dom/dom.utils.js&md5=52bb4f82f53e8d3d834d9b3e143a98e0&lang=fr_FR:607:22

Voilà la méthode d’appel :

sendKey = function(_params) {
    var paramsRequired = ['key', 'eqLogicId'];
    var paramsSpecifics = {
		async: false,
		global : true
	};
    try {
        jeedom.private.checkParamsRequired(_params || {}, paramsRequired);
    } catch (e) {
        (_params.error || paramsSpecifics.error || jeedom.private.default_params.error)(e);
        return;
    }
    var params = domUtils.extend({}, jeedom.private.default_params, paramsSpecifics, _params || {});
    var paramsAJAX = jeedom.private.getParamsAJAX(params);
    paramsAJAX.url = 'plugins/TvDomSamsung/core/ajax/TvDomSamsung.ajax.php';
    paramsAJAX.data = {
		action 	   : "sendKey",
		touche 	   : _params.key,
		eqLogicId  : _params.eqLogicId
};
    domUtils.ajax(paramsAJAX);
}

Voilà la fonction ajax :

if (init('action') == 'sendKey') {
		//ajax::success();

 		$_cmd = cmd::byEqLogicIdCmdName(init('eqLogicId'), 'SendKey');
 		if(!is_object($_cmd)){
 		    Logger::debug('ajax send keys', '$_cmd not found');
 		    ajax::error('KO', 'commande sendKey absente !');
 		} else {
 		    $communicationStatus = new CommunicationStatus(true, null, '');
 		    $_cmd->execCmd(array('slider'=> init('touche')));
 		    //ajax::success(Utils::o2a($communicationStatus));
 		    ajax::success();
 		}
 		
 	} 

Pas trouvé d’infos suffisantes dans la doc !

A quoi sert le paramètre global ?

Bonsoir,

j’ai testé la méthode et aucun soucis, j’ai juste supprimer lors de mes tests :

$communicationStatus = new CommunicationStatus(true, null, '');

peut-être rechercher de ce coté.

il sert certainement a plusieurs choses, mais ce que j’ai constaté c’est lors d’un appel ajax avec async: true, si global est a true, l’animation de loading jeedom est affiché jusqu’à la réponse ajax.

Bonsoir,

j’ai testé la méthode et aucun soucis, j’ai juste supprimer lors de mes tests :

$communicationStatus = new CommunicationStatus(true, null, '');

peut-être rechercher de ce coté.

Cela ne change rien

Quelle version de jeedom ?

Je suis en train de faire des modifs pour passer en 4.4.

En 4.4 Alpha, domUtils nexiste pas en stable.

Je suis sur la 4.4 beta.
Cela ne fonctionne pas ?

Je pense qu’il n’y a pas de différence sur ce sujet en alpha/beta, l’alpha étant descendu en beta assez récemment.

Bon,

Je vais attendre.
Bonne soirée. (merci .)*