2013-03-16 44 views
0

背景:我剛在我的本地主機完成我的網站的註冊表格。用戶在表單中上傳他們的第一張個人資料照片表單提交的是ajax,在服務器端進行了驗證,圖像在服務器端寫入到一個文件夾。一旦圖像被寫入,我將該用戶的用戶名返回到ajax成功,然後他們被重定向到他們新創建的主頁。圖像不顯示後,阿賈克斯功能,直到工作區刷新

問題:當我在本地主機上測試表單時,所有數據都按預期導入到數據庫中。但是,這些文件被寫入到我的eclipse工作區內的一個文件夾中,並且不會注意到新數據。我已經調整了我的eclipse工作區偏好設置,但是當新圖像碰到文件時它拒絕刷新。所以不幸的是,當用戶被重定向到他們的主頁時,他們被顯示出他們的圖像應該在哪裏。它會保持這樣,直到我進入日食並刷新我的工作區,然後顯示出來。我已經發現,在調用ajax成功之前,圖像完全寫入文件,所以函數不會太快,服務器(或eclipse工作區)不會刷新。

問題:這是當我將我的網站轉移到godaddy VPS時應該擔心的事情嗎?我擔心,當用戶上傳圖片時,同樣的事情將發生,他們將不得不等待,無論多長時間,服務器都會意識到有新內容。如果我向在網站上有他們的第一次經驗的用戶展示404圖像,這可能會對網站受歡迎程度造成破壞性影響。所以,我應該做些什麼來防止我的本地主機出現這個問題。但更重要的是,你認爲這將發生在現場服務器上,如果是的話,我該怎麼辦?

代碼:這是我的javascript代碼。那麼我應該在我的成功領域做些什麼來檢查這個問題嗎?

function addNewUser() 
{ 
    var form = new FormData(); 
    var ajaxObject = getAjaxObject(); 
    var gender = (getElement('registerMale').checked) ? "his" : "her"; 
    form.append("userName", getValue('registerUserName')); 
    form.append("email", getValue('registerEmail')); 
    form.append("password", getValue('registerPassword')); 
    form.append("fName", getValue('registerFName')); 
    form.append("lName", getValue('registerLName')); 
    form.append("displayName", getValue('registerFName') + " " + getValue("registerLName")); 
    form.append("location", getValue('registerLocation')); 
    form.append("gender", gender); 
    form.append("currentDefault", getElement("registerCurrentDefault").files[0]); 
    form.append("discipline", getValue("registerDiscipline")); 
    form.append("birthDay", getValue("registerBirthDay")); 
    form.append("birthMonth", getValue("registerBirthMonth")); 
    form.append("birthYear", getValue("registerBirthYear")); 

    ajaxObject.open("POST", "addNewUser", true); 
    ajaxObject.send(form); 

    ajaxObject.onreadystatechange = function() 
    { 
     if(ajaxObject.readyState == 4 && ajaxObject.status == 200) 
     { 
      divLink("profile?user=" + ajaxObject.responseText); 
     } 
    }; 
} 

回答

0

這不是一個值得擔心的問題。 嘗試從您正在使用的應用程序服務器運行應用程序。你會得到預期的結果。