2012-10-18 73 views
0

我遇到在圖像元素的src屬性保持AJAX請求之後的相同的問題。該元素是另一個元素的「內部」元素,它被.html(data)function @ callback函數「替換」。奇怪的是,即使正如我所說的,src屬性顯示源代碼中最後一個圖像的路徑,也會顯示新圖像。圖像的變化,src屬性保持不變

這裏是JS:

$('.toplistimages').each(function(){ 
    var filepath = $(this).attr('src'); 
    var next = "next" 
    $(this).click(function(e){ 
     e.preventDefault(); 
     $.ajax({ 
      type: 'POST', 
      url: '?category=goto', 
      data: { 
       "filepath" : filepath, 
       "next" : next 
      }, 
      success: function(data){ 
       $('#rightvotecolumn').html(data); 
      } 
     }); 
     return false; 
    }); 
}); 

內容被成功替換,但src屬性保持不變。

編輯:我還要補充一點,正確的文件名顯示,當我試圖保存在Ajax請求之後顯示的圖像。我在Firefox想這和Chrome

+1

'但src屬性停留在same.'說的是誰?通話結束後你如何獲得這些信息? '#rightvotecolumn'是什麼樣的元素? –

+1

你的意思是不是src屬性,而是文件路徑變量值? –

+0

gotqn還有其他內容會隨圖像而變化。也許我應該澄清,這種情況下的數據是PHP文件內的新「內容」。我所做的是將php文件包含新的所需內容,並將整個文件發送到ajax請求。 – user1683645

回答

2

而不是檢查通過「查看源文件」選項的源代碼,我建議你在Chrome或Firefox的使用F12,以檢查它在你的控制檯。

因爲,這將在後面添加動態數據不能在頁源看出。

+0

問題:如何訪問已經動態添加的新數據,例如新的ajax請求。因爲當我這樣做,我得到vardumping POST數據時,一個空值:注意:未定義指數:文件名在E:\ XAMPP \ htdocs中\低調\瀏覽\的index.php線318 – user1683645

+0

如果你得到一個通知,然後我認爲你應該首先在index.php文件中更正你的PHP代碼。 – ankur140290

+0

你是對的。問題是這樣的。謝謝!!!!但即使頁面更新,整個源代碼仍然是前一個源代碼,所以我很害怕必須單獨更改所有元素才能從服務器端訪問新數據。可怕的。 – user1683645

1

這種行爲的原因是,您只能得到實際的src值一次,並在每個click事件處理程序中使用該值。要解決此問題,請在每次單擊事件時設置文件名變量值:

$('.toplistimages').each(function(){ 
var next = "next" 
$(this).click(function(e){ 
    e.preventDefault(); 
    var filepath = $(this).attr('src'); 
    $.ajax({ 
     type: 'POST', 
     url: '?category=goto', 
     data: { 
      "filepath" : filepath, 
      "next" : next 
     }, 
     success: function(data){ 
      $('#rightvotecolumn').html(data); 
     } 
    }); 
    return false; 
}); 

});

+0

好吧,我很困惑。我用來更改頁面部分內容的方法是從服務器端獲取內容,並將這些新數據放入包括HTML和JS在內的新的PHP文件中,然後將整個PHP文件發送回調用函數並替換這個新的php文件將更新頁面的一部分。內容得到更新,但所有值都與ajax請求發生之前相同。我如何獲得新內容的價值? – user1683645