1

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

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

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

}

我想知道,我怎样才能做一个 mootool ajax 函数,它将 post['run]' 发送到对象所在的 php 脚本文件( data.call.php )并让它运行。

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

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

所以操作的顺序是

索引.php

点击表单并启动 2 个 ajax 函数。

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

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

4

2 回答 2

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);
});
于 2013-09-12T23:38:12.617 回答
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>
于 2013-09-12T20:41:59.017 回答