我想創建一個寧靜的服務,在服務器端使用GAE和RESTlet,在客戶端使用jQuery。儘管RESTlet上的文檔很差,但我決心熟悉一個寧靜的框架。但是,我甚至無法獲得基本的功能。閱讀RESTlet請求數據
我遇到的問題是出現GET,POST,PUT和DELETE,只有DELETE請求出現來傳遞數據部分。
的調用是由這樣的:
function put() {
try {
$.ajax({
url : url,
type : "PUT", //Same for GET, POST and DELETE
data : data,
success : function(data) {
try {
$("#results").text(data);
} catch (e) {
alert(e);
}
}
});
} catch (e) {
alert(e);
}
}
在服務器端我有連接在路由器上的資源,它是這樣的:
public class TaskResource extends ServerResource
{
String userID = "jada";
@Override
public void doInit()
{
super.doInit();
userID = (String) getRequestAttributes().get("user");
}
@Get
public String toString(String str)
{
return "GET: task of " + userID + " ||| DATA: " + str;
}
@Put
public String putit(String str)
{
return "PUT: task of " + userID + " ||| DATA: " + str;
}
@Post
public String postit(String str)
{
return "POST: task of " + userID + " ||| DATA: " + str;
}
@Delete
public String deleteit(String str)
{
return "DELETE: task of " + userID + " ||| DATA: " + str;
}
}
在上面的四種情況,作爲str,GET獲得一個空參數(可理解),PUT和POST獲得空字符串,DELETE獲取實際發送的數據。
我已經嘗試改變參數的類型(表示形式或表單)並使用更具體的註釋(例如@Get(「xml」))。目前爲止沒有成功。
歡迎任何建議。
什麼是你的「數據」,你要發送的格式??? – PhD
它只是一個字符串 – Chris