2011-07-20 56 views
8

我已經做了json數據的ajax post請求,我想訪問rails控制器中的數據,所以我如何訪問數據。訪問張貼json數據從ajax在rails控制器

這是我如何使用AJAX

jQuery.ajax({ 
      url: 'main/getlocation', 
      data: "{latitude:" + latitude + ",longitude:" + longitude + "}", 
      dataType: 'json', 
      type: "POST", 
      success: function(data) { 
      alert("Successful"); 
      }, 
      failure: function() { 
      alert("Unsuccessful"); 
      } 
     }); 

如何從軌道控制器訪問經緯度數據發佈的數據。我無法使用正常參數[:latitude]和params [:longitude]訪問數據。我應該使用什麼?

回答

8

我想您已經分配的經度和緯度作爲變量,是你的Ajax請求訪問。如果不是,你不會在控制器中得到任何東西。確保變量的作用域是正確的,那麼試試這個:

jQuery.ajax({ 
      url: 'main/getlocation', 
      data: "latitude=" + latitude + "&longitude=" + longitude, 
      type: "POST", 
      success: function(data) { 
      alert("Successful"); 
      }, 
      failure: function() { 
      alert("Unsuccessful"); 
      } 
     }); 

現在,我想你可以得到PARAMS [:經度],而params [:緯度]在您的控制器。

0

你不需要在你的jquery ajax post請求中定義類型json。 使用下面的代碼在你的JavaScript

jQuery.ajax({ 
      url: 'main/getlocation', 
      data: {latitude:latitude,longitude:longitude}, 
      type: "POST", 
      success: function(data) { 
      alert("Successful"); 
      }, 
      failure: function() { 
      alert("Unsuccessful"); 
      } 
     }); 

現在嘗試

params[:latitude] and params[:longitude] in your controller.