Когда я делаю вызов AJAX для замены div, ответ содержит тег скрипта, указывающий на внешний .js-файл. Однако я не могу заставить возвращенный JS выполнить. Я попытался оценить() ответ, но это не сработало. Я также попытался вызвать функцию внутри внешнего .js-файла из обратного вызова onComplete, но это также не работает. Не уверен, что еще делать. Я использую ядро MooTools 1.4.5Javascript-файл не выполняется после вызова AJAX
Главная страница в JS
window.addEvent('domready', function(){
function ajaxfunc(i)
{
return function(e){
e.stop();
var requestData = new Request({
url: 'blah.php?cat=' + i,
evalScripts: true,
evalResponse: true,
onComplete: function(response){
$('rt-main').set('html', response);
}
});
requestData.send();
};
}
var total = $('cat_table').getChildren('div').length;
for(var i=1; i<=total; i++)
{
$('catClick'+i).addEvent('click', ajaxfunc(i));
}
});
Возвращаемый HTML
<script src="listings.js" type="text/javascript"></script>
...(other markup, etc)
И внутри этого файла listings.js
window.addEvent('domready', function(){
function gotoItem(i)
{
return function(e){
e.stop();
var id= i;
var requestData = new Request ({
url: 'blah.php?id='+id,
onComplete: function(response){
$('rt-main').set('html', response);
}
});
requestData.send();
};
}
$$('.itemBox').each(function(el){
el.getElement('a.itemClick').addEvent('click', gotoItem(el.id));
});
});
Среда I Работает в Joomla 3.1, если это влияет на что-либо.
Является ли скриптовый файл '.js' новым вызовом ajax? – Sergio
Является ли этот тег сценария визуализированным html? Если вы не можете опубликовать свой 'blah.php', в этой части вы разбираете скрипт. Может быть, это связано с тем, чтобы ускользнуть от тегов. Как выглядит «ответ»? – Sergio
Во втором файле .js это действительно другой вызов AJAX. Я хотел добавить новых слушателей событий, когда вторая страница вызывается через AJAX. Тег скрипта, который вы видите, является частью отображаемого HTML. Тег скрипта из blah.php напрямую жестко закодирован (в MVC я жестко запрограммировал его в представлении). то есть я не использую echo для вывода этого тега скрипта. – ehz350