2012-07-05 45 views
4

我有一個令人驚訝的困難時刻讓json從javascript發佈到rails支持的web服務。通過JQuery發佈JSON到Rails

這裏是jQuery代碼;

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
<script> 
var jsonPost = { 
     "email":"[email protected]", 
     "token":"63uO6eEfLVBFpnZswzI", 
     "content": "testcontent", 
     "notification_type": "2", 
     "name":"testname", 
} 
    function callback(data){alert(data)}; 

jQuery.ajax({ 
     type: "POST", 
     url: 'http://localhost:3000/api/create.json', 
     data: jsonPost, 
     success: callback, 
     dataType: "json", 
     contentType: "application/json", 
     processData: false 
     }); 


</script> 

在鐵軌上的一面:

def api_create 
    respond_to do |format| 
    format.json { 
     email = params[:email] 
     token = params[:token] 
     auto_action = params[:auto_action] 

鐵軌邊會識別請求的JSON,但我沒有看到數據在請求中軌調試時。

難道有人指着我正確的方向嗎?

回答

1

難道你不需要將你的JSON轉換成一個字符串,如果你在軌道中做相反的事情?

jQuery.ajax({ 
    type: "POST", 
    url: 'http://localhost:3000/api/create.json', 
    data: JSON.stringify(jsonPost), 
    success: callback, 
    dataType: "json", 
    contentType: "application/json", 
    processData: false 
    }); 
+0

我之前試過這個,現在再次提出您的建議。我在rails中的請求中看不到任何內容。也許有人可以告訴我我應該在請求中尋找什麼?以下是我在調試器中看到的rails請求對象:http://cl.ly/Htvn – 2012-07-05 23:45:58

+0

我仍在自己調查類似的問題,但知道你不需要進行串聯化。在https://www.youtube.com/watch?v=5nL7X1UMWsc上查看非常清晰的視頻。 – MSC 2015-03-30 10:48:07