我試圖用shebang實現AJAX - 這意味着example.com/#!/somepage.php
只是example.com/somepage.php
加載到AJAX網站的內容區域。將AJAX響應作爲文檔處理?
這樣做的顯而易見的方法是僅僅請求somepage.php
,然後用新文檔替換documentElement
的全部內容。但是,這似乎有點擊敗AJAX的目的。
相反,我想加載somepage.php
,然後提取頁面的content
部分,並將其放在內容區域中。
要做到這一點,我可以使用正則表達式來尋找/<div id="content">.*</div>/
但是這將是一個非常糟糕的主意(最簡單的問題是「這</div>
結束內容?)。相反,我希望能夠只是這樣做ajaxresponse.getElementById('content')
,但我怎麼會去有關轉換ajaxresponse
到document
(或documentFragment
)對象?
或者這只是錯誤的方式來執行這樣的AJAX設置?我會過得更好具有服務器檢查X-Requested-With: XMLHttpRequest
並只發回內容區域?
是包括'jQuery'到相關難道這沒有問題嗎?使用jQuery Ajax的['.load()'](http://api.jquery.com/load/):'$('#result')。load('ajax/test.html #container');'。我知道你應該比我更清楚,shebang和jQuery有什麼問題嗎? –
你的'#!'處理程序不能簡單地提出與頁面不同的請求嗎?例如,當'#!'處理'/ somepage.php'時,請求'/somepage.php?json'(返回一些方便使用的東西)。 – cheeken
使用純JS,你也可以將你請求的頁面追加到一個隱藏的元素上(或者只是簡單地創建它),然後通過'getElementById'獲取你的加載的內容div。 –