我需要向服务器发送一个轮询AJAX请求,并向服务器发送一些数据(我认为我只需传递url)。我将有许多不同的救援后台作业正在运行,我想检查每个作业是否已经完成。我找到了一个gem(请求状态),但我不确定如何在javascript和控制器之间来回发送数据。
第一件事是我如何构造这个轮询AJAX请求到服务器?语法是什么?我不确定的下一件事是如何将作业的状态发送回ajax请求,然后在不是所有作业都完成的情况下再次发送ajax请求?我想JSON在这里可能会有帮助。
我真的很欣赏代码示例(最好使用Ruby on Rails和JQuery)。
使用jquery等库
js:
$(document).ready(function(){
$.ajax({
method: "POST",
url: "ajax.php",
dataType: "json", //jquery will convert the json into an object
data: { //data sent to server
foo: "foo",
bar: "bar"
},
success: function(data){ //callback function
if(data["type"] == "success"){
alert(data["msg"]);
}else{
alert("malformed response");
}
}
});
});
php: <?php
$obj = new stdClass();
$obj->type = "success";
$obj->msg = "foo: " . $_POST["foo"] . ", bar: " . $_POST["bar"];
echo json_encode($obj); //echo the object as json
?>