我正在使用MooTools 1.4。如何在我的页面上动态包含脚本标记?以下Ajax resetset的响应应该包含标签......
window.addEvent('domready', function() {
$('submit').addEvent('click', function(event) {
var filename = $('filename').value;
//prevent the page from changing
event.stop();
//make the ajax call
var req = new Request({
method: 'get',
url: 'renderpage?id=' + escape(filename),
data: { },
evalScripts: true,
onRequest: function() {
// on request
},
onComplete: function(response) {
$('content').set('html',response);
// Add the Ajax call where we save the data.
...
});
}
}).send();
});
});
但是当我看到回应时,他们就被剥夺了。我希望将它们包含在内并进行评估。我怎么能这样做?
答案 0 :(得分:2)
使用Request.HTML。
var req = new Request.HTML({
url: 'renderpage?id=' + escape(filename),
update: $('content'),
onRequest: function() {
// on request
}
}).get();
答案 1 :(得分:0)
您可以将整个响应作为JS返回,并评估响应;
然后你可以将html设置为响应中的某个变量,比如
var new_html='(html)';
然后你可以这样做
$('content').set('html',new_html);
答案 2 :(得分:-1)
传递给onComplete
的参数是:
nodeTree, xhr, responseHTML, responseScripts
所以:
new Request.HTML({
// ...
onComplete : function(nodeTree, xhr, responseHTML, responseScripts) {
eval(responseScripts);
}
});