2010-10-07 196 views
0

我設置了一個簡單的web服務的API,並偶然發現問題。我使用Ruby on Rails作爲後端,並使用JQuery ajax調用來發送POST來創建模型的實例。 JavaScript代碼是:POST請求到達服務器,但空

$.ajax({ 
    type: "POST", 
    url: "http://localhost:3000/api/v1/person/add", 
    data: "name=John&location=Boston", 
success: function(msg){ 
    alert("Data Saved: " + msg); 
} 
}); 

當我執行這個服務器我得到選項的請求類型,我認爲這是完成一個POST請求,因爲這些網站所需的兩個第一次調用(?)不在同一個域上(因爲調用將會被遠程執行),它就會失敗。然而,主要問題是請求本身在主體中根本不包含任何數據。我的猜測是,這第一次調用不發送任何數據,但等待某種'OK'能夠發送數據?如果不是,爲什麼它是空的?我不想使用GET請求,因爲它在RESTful API的準則中說它應該使用POST來達到此目的,另外我可能想發送比GET更多的數據。所以如果我的假設是正確的,並且這個POST請求由於跨域調用而失敗,我的選擇是什麼?

回答

2

編輯:現在我看到你正在嘗試跨域Ajax查詢...這是一個非起動器。在這裏看到更多的信息(剛剛搜索跨域和選擇一個):AJAX cross domain call

+0

什麼已經有效,以及...你已經序列化成相同的字符串。 – 2010-10-07 13:50:40

+0

@尼克啊,很高興知道,謝謝..編輯我的問題。 – Fosco 2010-10-07 13:54:22

+0

這隻適用於POST請求嗎? – miccet 2010-10-07 14:01:51