2011-06-04 61 views
1

我有一個Google App Engine應用程序,它使用JavaScript實現了一些相當標準的功能。一個按鈕,'保存'按鈕應該將文本字段保存到數據存儲中的條目中。然而,保存按鈕是所有的JavaScript,這是試圖做正確的現在以下幾點:推薦使用JavaScript與App Engine API交互的方式

  1. 的文件名(數據存儲中的KEY_NAME,我會在保存)提示用戶
  2. 將它保存在數據存儲
  3. 閃光燈訊息,讓我們知道他們的保存數據的用戶(假設它救了無誤差)

什麼到App Engine內做到這一點,正確的做法是任何想法?我可以讓JS訪問某個URL,但我不知道它是否會正確地獲取用戶的身份驗證信息,或者是否有任意用戶可以調用該URL並讀取/寫入數據存儲。另外,由於我對App Engine上的JavaScript/jQuery有點新意,我想我可能只是解決了這個問題,所以我願意接受其他設計選擇。

回答

2

在App Engine中實現一個API(一個簡單的安靜的就足夠了),並使用XMLHTTPRequest在Javascript中與它進行交互。對登錄用戶的任何請求都將包含登錄cookie,因此您可以按照與其他任何請求相同的方式來檢查身份驗證。

+0

適合我。謝謝! – 2011-06-04 16:06:24

0

同時查看即將推出的ProtoRPC庫,它將在1.5.1中推出。使處理Javascript客戶端變得輕而易舉。

0

jquery(一個流行的Javascript庫)具有方便的ajax功能。您可以使用它向您的API發送請求。

例如:

$.ajax({ 
    url: '/api_address', 
    dataType: 'json', 
    data: { 
     arg0: JSON.stringify(some_variable), 
     arg1: JSON.stringify(another_variable), 
    }, 
    success: callback 
}; 

對對方一旦收到,服務器可以檢查這個請求進行認證來的cookie。

正如其他人所說,protoRPC是應用程序引擎中的一個新API,它使得服務器端API更易於編寫。