2012-06-07 63 views
2

我正在使用Mootools History plugin更新頁面的內容而不需要重新加載頁面。使用包含圖像標記的內容設置元素的html源代碼

當圖像處於被注入的內容中時,除了Mootools生成404錯誤(在控制檯中可見),一切正常。

內容經由Request.HTML呼叫收集並進行如下設置(簡化演示):

var request = new Request.JSON({ 
    onSuccess: function(responseJSON, responseText) { 
     html = JSON.decode(responseJSON); 
     $('zone').set('html', html['text']); 
    } 
}); 

的內容正在被正確設定,不過似乎.set('html', content)通過重寫src屬性,以產生404錯誤的圖像。

的URL看起來像這樣:

http://example.com/%22//files//images//ImageName.jpg/%22 

雖然網頁的源文件顯示他們爲:

/files/images/ImageName.jpg 

404錯誤是指線334在MooTools的核心,雖然我可以」不太明白哪裏會導致問題。

+0

呃什麼部分建議?你不使用請求,但使用Request.HTML然後你嘗試通過將元素對象的html集合轉換爲json來序列化它?這在許多層面上都是錯誤的。嘗試使用Request()然後'$('zone')。set(html,this.response.text)' –

+0

@DimitarChristoff我已經改變它使用Request.JSON,因爲這是我使用的格式,但是根本沒有解決我的問題。 – Chris

回答

1

解決方案是使用Request.JSON而不是Request.HTML,並直接訪問JSON對象而不是先解碼。

var request = new Request.JSON({ 
    onSuccess: function(responseJSON, responseText) { 
     $('zone').set('html', responseJSON.text); 
    } 
}); 

正如@DimitarChristoff

+0

夠公平 - 我們沒有辦法神奇地知道你的數據實際來了什麼或者什麼鍵將包含你的輸出字符串。 :)現在很高興它適合你 –

相關問題