使用mootools的Ajax请求不起作用

时间:2009-09-12 11:49:59

标签: javascript ajax mootools

我尝试使用this教程将内容加载到div中。不幸的是,这只是将HTML文件作为新页面加载。

这是应该完成工作的javascript

window.addEvent('domready', function() {

     $('runAjax').addEvent('click', function(event) {
         event.stop();
         var req = new Request({
             method: 'get',
             url: $('runAjax').get('href'),
             data: { 'do' : '1' },
             onRequest: function() { alert('The request has been made, please wait until it has finished.'); },
              onComplete: function(response) { alert('Response received.); $('container').set('html', response); }
         }).send();
$('runAjax').removeEvent('click');
     });
});

这是应该启动功能的链接

<a href="about.html" id="runAjax" class="panel">Profil</a>

这是index.html的div结构。我希望将内容加载到“容器”-div

<div id="view">
    <div id="sidebar">
        mib
    </div>

    <div id="container">
        <div id="logo">
            <!--img src="img/logo.png"-->
        </div>

        <div align="center" id="tagline">   
            content
        </div>
    </div>
</div>

我并不关心我使用的脚本,只要它与MooTools 1.2兼容,因为我需要它用于滑动顶部面板,例如将它更改为jquery面板会有更多的工作。

3 个答案:

答案 0 :(得分:0)

这里有一个'缺失:

alert('Response received.);

答案 1 :(得分:0)

你使事情变得比你需要的更复杂。试一试:

window.addEvent('domready', function(){
    function loadPage(url) {
        $('container').load(url);
    }

    $('runAjax').addEvent('click', function(e) {
        e.stop();
        loadPage(this.get('href'));
        this.removeEvent('click', loadPage);
    });
});

如果这不起作用,请启动Firebug并查看记录的Javascript错误。这是Element.load()快捷方式的参考:

http://mootools.net/docs/core/Request/Request.HTML#Element:load

答案 2 :(得分:0)

您没有按照建议停止点击事件。

而不是:

event.stop();

做的:

new Event(event).stop();