2011-07-08 56 views
0

我需要向服務器發送輪詢AJAX請求,並將一些數據(我認爲我只是傳遞給url)發送到服務器。我將運行許多不同的復古背景作業,並且我想檢查每個作業是否已完成。我發現了一個寶石(resque-status),但我不確定如何在JavaScript和控制器之間來回發送數據。輪詢AJAX請求並在javascript和服務器之間發送數據

第一件事情是我將如何構建這個輪詢AJAX請求到服務器?語法是什麼?接下來我不確定的是如何將作業的狀態發送回ajax請求,然後再發回AJAX請求,如果不是所有的作業都完成了?我假設JSON可能會在這裏幫助。

我很欣賞代碼示例(優選使用Ruby on Rails和JQuery的

回答

1

使用像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 
?> 
+0

其中是PHP中的json數據被髮送回ajax函數?它如何知道發送json數據的哪個AJAX函數?順便說一下,我正在使用RoR。如果你知道它,我寧願在該語言框架中使用一個例子。 –

+0

echo json_encode($ obj);正在發回它。它知道根據請求中獲取的參數發送回去的內容。 –

+0

但它如何知道將它發送回相同的AJAX功能?你會知道如何從RoR控制器內部發回它嗎? –

相關問題