背景:我剛在我的本地主機完成我的網站的註冊表格。用戶在表單中上傳他們的第一張個人資料照片表單提交的是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);
}
};
}