2 Mootools AJAX功能同时进行?

时间:2013-09-12 17:36:50

标签: php ajax mootools

我是Javascript和Mootools的新手,我想知道是否有人可以通过解决我目前遇到的问题来帮助我学习。

index.php有一个表单,提交给自己并启动此代码

if($_POST['subbutton']=='Run')
{
$data=$object->do_compare();

}

我想知道,我怎么能做一个mootool ajax函数,它会发送帖子['run]' 到一个php脚本文件(data.call.php),其中对象驻留并运行。

但是,我不希望data.class.php做出任何响应,因为该对象将其结果写入txt文件(data.txt)

第二部分,  将是一个ajax函数(也与第一个ajax函数同时运行)并且每隔5秒读取一个php文件并将数据带回index.php

所以操作的顺序是

index.php

单击

表单并启动2个ajax函数。

第一个,只将POST ['run']提交给php脚本。

第二个函数,将转到另一个php文件并每5秒钟响应一次。

2 个答案:

答案 0 :(得分:2)

我没有测试下面的内容,因此请自行承担风险。但这几乎就是它的主旨。

_form.addEvent('submit', function(event) {

    // your first call
    new Request.JSON({
        url: "your-first-rpc",
        data: {
            subbutton: "Run"
        },
        onSuccess: function(response) {
            // handle response here.
        }
    }).post();

    // your second call which runs every 5 secs.
    (function() {
        new Request.JSON({
            url: "your-second-rpc",
            data: {
                subbutton: "Run"
            },
            onSuccess: function(response) {
                // handle response here.
            }
        }).post();
    }).periodical(5000);
});

答案 1 :(得分:0)

<script type="text/javascript">

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

            $('dbform').addEvent('submit', function(e)
            {


                new Event(e).stop();

                var intervalId =setInterval(function(){

                    var Ajax2 = new Request(
                        {
                            url: '/tools/getdata.php',
                            method: 'post',
                            data: 'read=true',
                            onComplete: function(response)
                            {
                                $('21').set('text', response);
                            }

                        }

                ).send();},1000);





                var postString = 'subbutton=' + $('subbutton').value;

                var Ajax = new Request({
                    url: '/tools/getdata.php',
                    method: 'post',
                    data: postString,
                    onRequest: function()
                    {
                        $('message').set('text', 'loading...');

                    },
                    onComplete: function(response)
                    {

                        $('message').set('text','completed');
                         clearInterval(intervalId);

                    },
                    onFailure: function() {

                        $('message').set('text', 'ajax failed');
                    }
                }).send();
            });
        });
    </script>