2011-11-28 22 views
2

我有一個非常奇怪的問題。我用ajax和php創建了一個登錄系統。
加載用戶配置文件時,用戶也有圖片。
然後,當我嘗試在模式對話框中使用iframe更改圖片並按保存 時,應在用戶配置文件中更改圖像,而不刷新頁面。
我用

$(".userPicture").attr("srs","Users/"+username+"/profileimg.jpg"); 

我也試過

$(".imgContainer").html("<img src='Users/"+username+"/profileimg.jpg' class='userPic' >"); 

仍然沒有工作

看來,緩存的圖片在資料圖片加載,即使我上傳新的圖片。
問題是,我想用ajax做這個沒有頁面刷新。
如果我重新加載頁面,圖片被更改。請任何幫助。 還我如何能驗證從$就特定功能輸出的成功函數 例如

$.ajax({ 
    type: 'POST', 
    url: baseURL, 
    dataType: 'html', 
    cache: false, 
    data: { 
     action: "LOGIN", 
     username:username, 
     password:password 
    }, 
    success: function(data) { 
     if (data == "empty") { 
      showError("Error: Wrong Username or Password","loginTab"); 
     } 
     else { 

     } 
    } 
}); 

當我做數據類型JSON我可以確認我的數據,如果其空但是當我做html的我不能。 有沒有其他方法我該如何處理這種情況。

回答

7

添加緩存無效隨機值的url,迫使服務器來獲取一個新的副本:

"Users/"+username+"/profileimg.jpg?cachebuster=" + new Date().getTime() 

的Web服務器將忽略查詢字符串,因爲它只是獲取一個jpg,查詢字符串會強制瀏覽器將其視爲「新」請求,因此它將繞過緩存並擊中服務器。

+0

我該如何做到這一點 $(「。imgContainer」)。html(「」); – aygeta

+0

謝謝你解決了我的問題:)非常感謝 – aygeta