2014-09-26 66 views
1

我是Parse.com的Javascript SDK的新手。我正在嘗試開發一個管理功能,在那裏我可以更新用戶。通過檢索窗體中用戶對象的更新值來調用以下函數。Parse.com Node.js更新用戶ID

app.post('/update', function(req, res){ 
    var userid = req.body.userid #id retrieved from user object 

    var query = new Parse.Query(Parse.User); 
    query.get(userid, { 
     success: function (user) { 
      user.set("name",req.body.name); #name retrieved from user object 
      user.save(); 
      res.redirect("/home"); 
     }, 
     error: function (error) { 
      console.log(error); 
      res.redirect("/home"); 
     } 
    }); 
}); 

我一直在嘗試使用此代碼,但沒有清楚地指明錯誤是什麼,所以返回成功重定向。

控制檯日誌爲雲代碼服務器顯示以下內容:

I2014-09-26T10:54:34.207Z] V001: 輸入::冉定製具有端點{ 「方法」=> 「GET」 ,「url」=>「/ home」...} 結果:成功

任何幫助將不勝感激!謝謝!

+0

您可能想要向保存操作添加錯誤回調。 – 2014-09-26 13:44:43

回答

0

正如評論中所述,您需要檢查保存時的錯誤。還記得Parse.Object.save()是一個異步函數,你不想重定向,直到保存成功。

app.post('/update', function(req, res) { 
     var userid = req.body.userid; 
     var pwd = req.body.pwd; 
     Parse.User.logIn("userid", "pwd", { 
      success: function (user) { 
       user.set("username", "my_new_username"); // attempt to change username 
       user.save(null, { 
        success: function (user) { 
         var query = new Parse.Query(Parse.User); 
         query.get(userid, { 
          success: function (user) { 
           user.set("name", req.body.name); 
           user.save(null, { 
            success: function (savedUserObject) { 
             res.redirect('/home'); 
            }, 
            error: function (gameScore, error) { 
             console.log('Failed to save object: ' + error.message); 
             res.redirect('/error') 
            } 
           }); 
           res.redirect("/home"); 
          }, 
          error: function (error) { 
           console.log(error); 
           res.redirect("/home"); 
          } 
         }); 
        } 
       }); 
      }}); 
} 
+0

非常感謝@Tom ErikStøwer指出,在.save()函數中需要有一個錯誤調用。我已經執行了相應的更改,並且我被引導至「/ home」並記錄了一條錯誤消息,「No Message provided」 看來第一個query.get函數不成功,錯誤回調是調用。 想知道在解析中是否有任何限制從檢索或更新用戶的信息而不進行身份驗證或登錄? – harrybenjamin 2014-09-27 05:06:36

+0

@harrybenjamin解析用戶類是安全的,您需要用該用戶登錄才能保存或修改詳細信息。將更新我的答案。 – sarvesh 2014-09-27 16:34:38