2014-01-05 43 views
0

我在寫一個實時應用程序。基本原則就像聊天,而不是短信,用戶分享youtube視頻。後端還沒有完全完成,我不知道我會怎麼做。但我對已經完成的工作有些疑問。快速和實時應用程序。堅持從客戶端到服務器的更新到客戶端

眼下,隨着用戶名/密碼,FB用戶認證,微博運作良好,和憑證被存儲在我的分貝。用戶登錄也可以正常工作。錯誤消息得到flash罰款。

我使用MongoDB的(貓鼬),並表示在後端。它不是基於API的設計,因爲我不知道如何在用戶認證工作的API(我可以讓GET/POST/PUT/DELETE API,只是不知道如何適應認證在那裏)。

當一個用戶,也就是說,登入的使用網頁,憑據在express.js航線使用req.body.<field>驗證。如果通過身份驗證,則將用戶重定向到儀表板,否則重定向到signin並附帶閃光消息。所以,沒有Ajax調用,現在,該應用程序不是以任何方式實時的。我希望它是實時的。

因此,導致的是,我有3個問題:


  1. 我使用的是模態窗口(引導),要求用戶更新個人資料。模式顯示很好,除了我想要顯示的字段沒有顯示。密碼和電子郵件字段爲空,即使我有value屬性。

    input.form-control.dash(type="password", name="newuserpassword", ng-minlength=8, ng-model="password", value="__USE_EXISTING__") 
    input.form-control.dash(type="email", name="newuseremail", required=true, ng-model="email", value=user.email) 
    

    http://snappy-app.com/s/read.php?pass=9fc7ffa1e2b2140aad5232d5733f4caf

  2. 我想,當用戶編輯「保存」按鈕,在模式的消息應該或者如何任何錯誤,或表明更新成功。就目前來看,我的更新方法並沒有這樣做。除了重定向用戶之外,我不知道如何才能實現我想要的。

    exports.update_user = function(req, res) { 
        var user = new User({ 
         'username' : req.user.username, 
         'password': req.body.newuserpassword || , 
         'email': req.body.newuseremail 
        }); 
    
        console.log(user); 
    
        user.save(function(err) { 
         if (err) { 
          console.log(err); 
          for (var field in err.errors) { 
           var error = err.errors[field].message; 
           req.flash('error', error); 
          } 
          res.redirect('/dashboard'); 
         } else { 
          req.logIn(user, function (err) { 
           if (!err) { 
            req.flash('success', 'Done!'); 
           } else { 
            req.flash('error', 'Something went wrong.'); 
           } 
          }); 
         } 
        }); 
    } 
    
  3. 後用戶更新通過點擊「保存」的值,該模式將關閉。用戶仍然可以點擊「編輯」鏈接再次更改值,並打開模式。現在,基於我讀過的內容,用戶將看不到更改,因爲沒有頁面/模式重新加載。我如何確保用戶看到更新的值?


任何幫助表示讚賞。

+0

任何人有任何輸入? –

回答

0

當我讀你的文字,我想: 「哼,他試圖讓Ajax調用,讓視圖中顯示錯誤或去」

當我看了你的代碼,我想: 「嗯,這是一個等時線「給我所有的頁面」 CALL」

你想要哪個版本?

的異步嗎?所以我們可以解釋你的Ajax原理,你真正的問題是一個UI更新。 同步嗎?這確實是一個用戶界面問題,你應該爲它添加一個標籤。

+0

我從節點/快速堆棧開始,所以我不知道我是模糊的。我將編輯帖子以包含更多細節。另外,你爲什麼說代碼是同步的?這些方法與回調一起使用。 –

+0

我不是在談論服務器內部堆棧,而是整個堆棧。如果提交失敗或其他頁面成功,您是否有意發佈帖子並刷新整個網頁?或者你想讓視圖對服務器進行異步調用,該視圖響應一個json到當前將被修改的視圖? – farvilain

+0

理想的是後者。這將有助於實現我的應用程序,並且不會刷新頁面。 –

相關問題