Ajaxはテキストを画像に置き換えます
-
04-07-2019 - |
質問
次のmootoolsスクリプトをまとめました
window.addEvent('domready', function() {
var shouts = "timed.php";
var log = $('log_res');
function updateData (url,target)
{
new Ajax(url,{
method: 'get',
update: $(target),
onComplete: function() {
log.removeClass('ajax-loading');} }).request();
log.empty().addClass('ajax-loading');
}
var update = function(){ updateData ( shouts, 'log_res' ); };
update(); // call it immediately
update.periodical(10000); // and then periodically
});
htmlがあります
<div id="AJAX">
<h3>Ajax Response</h3>
<div id="log_res">exercise</div>
</div>
moo 1.1を使用しています。
上記は正常に機能し、ページがロードされ、ajaxリクエストがdiv idでキックされますlog_resには更新中にajax-loadingのクラスがあり、終了するとdivのテキスト演習はajaxが返したものに置き換えられます( yippee)。しかし、ajaxの読み込みクラスでは情報を含めるのに十分ではないため、ページが読み込まれているdivにカスタムHTMLを配置したいので、ajaxリクエストが情報を取得している間に、spinny flasherをdivに配置したい。 それが理にかなっていることを願っています!
解決
MooTools 1.2では、これは要求どおりに機能します。
function updateData (url, target)
{
var target = $(target);
target.empty().addClass('ajax-loading');
target.innerHTML = "Loading...";
new Request({
url: url,
method: 'get',
onComplete: function(responseText) {
target.removeClass('ajax-loading');
target.innerHTML = responseText;
}
}).send();
}
MooTools 1.1を使用するのは面白くないので、少し掘り下げなければなりません...実際、ほぼ同じセットアップを使用して動作するようになりました(<ではなく target
code> log 、この関数のスコープ外で定義された):
function updateData (url, target)
{
var target = $(target);
target.empty().addClass('ajax-loading');
target.innerHTML = "Loading...";
new Ajax(url, {
method: 'get',
update: target,
onComplete: function() {
target.removeClass('ajax-loading');
}
}).request();
}
他のヒント
次のようなことはできませんか:
function updateData (url, target)
{
var target = $(target);
target.innerHTML = 'Please wait...';
//and the rest of the function
}
所属していません StackOverflow