Обнаружилась не совсем понятная проблема с повторными запросами.
При первом обращении к ajax все нормально, при повторном Y.one('#'+div) возвращает два значения и если при втором запросе был указан див отличающийся от первого обновляется содержимое обоих дивов. При этом функции передается правильный айди дива для изменения контента. Вот функции инициализации ссылок и собственно самого ajax запроса.
function ajax_links_init(){
if (Y.one('.ajax')){
Y.all('.ajax').detach();
Y.on("click", function(e){e.preventDefault();ajax(this);}, ".ajax");
}
}
function ajax(link){
var div = link.get('rel');
var handleSuccess = function(ioId, o){
if(o.responseText !== undefined){
try {
var fmajax = Y.JSON.parse(o.responseText);
}
catch(e) {
alert('Ошибка в запросе');
}
if (fmajax.tit != undefined){
document.title=sitename+' :: '+fmajax.tit;
}
if (fmajax.alt != undefined){
alert(fmajax.alt);
}
if (fmajax.text != undefined){
Y.one('#'+div).setContent(fmajax.text);
console.log(Y.one('#'+div),'#'+div);
}
ajax_links_init();
}
};
var handleFailure = function(ioId, o){
if(o.responseText !== undefined){
alert(o.responseText);
}
};
Y.on('io:success', handleSuccess);
Y.on('io:failure', handleFailure);
var cfg = {
method: "POST"
};
var request = Y.io(link.get('href')+'?using_ajax=1', cfg);
}
Помогите плиз.