我有一個標準的jQuery AJAX功能:爲什麼這個html不使用jQuery更新?
$.ajax({
// blah blah...
success: function(data)
{
if(data)
{
$('.title').text(data.title);
$('.description').text(data.description);
if (data.image)
{
$('div#image').html('<a href="'+data.image+'" class="button">View Image</a>');
}
}
}
});
服務器響應是一個JSON對象。 data.image
返回圖片位置的網址。我只是堅持在一個鏈接,堅持在一個div內。
每次用戶點擊圖庫上的「下一個」或「上一個」按鈕時,都會運行此ajax調用。問題是,第一次鏈接加載後,它保持緩存或什麼,因爲即使當我點擊下一個或prev和其他一切更新如標題和描述,該鏈接不會更新。它總是指向第一個圖像。
真正奇怪的是,如果我替換此:
$('div#image').html('<a href="'+data.image+'" class="button">View Image</a>');
有:
$('div#image').html(data.image);
它工作正常,一個新的URL每次Ajax調用運行加載。但是,如果我把它放在一些HTML中,那麼它會加載一次並保持緩存或某物。
有誰知道爲什麼會發生這種情況?
我懷疑這是你的問題,但你不應該只將'data.image'連接到你的HTML字符串中。想一想如果'data.image'包含一個引號或其他任何在HTML中有特殊含義的字符會發生什麼。相反,您可能希望設置不帶'href'的HTML,然後找到創建的'a'元素並使用'attr'來設置'href'。 – icktoofay
你是否將一個事件監聽器附加到'#image a'? – icktoofay