我正在使用dojo編寫單頁網站。教程描述瞭如何使用dojo /請求發出ajax請求。我可以簡單地提出請求,接收html內容並將其插入到內容面板(div元素)中。樣品中也證明了這一點。如何使用dojo加載內容?
當我開始加載具有某些所需功能的真實內容時,我還需要將腳本元素添加到ajax調用請求的內容中。問題是沒有執行使用ajax內容接收的腳本。
我試過使用contentNode.innerHTML = data;
和domConstruct.place(data, contentNode, "only");
在這兩種情況下都顯示內容,但內容中的腳本未執行。
據我所知,還有一個dijit.layout.ContentPane
這是更適合在設計時加載內容,而不是運行時。
我無法在加載內容之前執行該腳本,因爲在每個頁面中都有一些我需要處理的元素,並且在加載主頁面時它們很簡單不可用。例如,我需要更改表單提交行爲。
那麼我能做些什麼來使加載的腳本執行?
但是,不應該從服務器發送腳本來響應這樣的Ajax請求來執行腳本。服務器應該提供* data *,然後客戶端應該使用已經加載的代碼來響應和處理數據。 –
@CSnover那麼這樣做的正確方法是什麼?我想你並不是建議我爲頁面中的每個鏈接編寫一個單獨的函數?每個點擊結果加載一些內容和腳本必須執行,例如日曆文本框,提交處理等... – rosencreuz
@Lucas:我已經提到,ContentPane不適合多次更改內容,它的目的是加載某些內容一次在頁面加載後。如果你不同意,你可以更具體嗎? – rosencreuz