我是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秒钟响应一次。
答案 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>