JavaScript/Handling HTML
處理從AJAX返回的HTML異常困難。由於XMLHttpRequest被設計為使用格式良好的 XML,因此嘗試使用responseXML屬性解析 HTML 頁面幾乎總是會產生XML解析錯誤。responseText屬性當然包含HTML源代碼,可以嘗試使用常規字符串函數或正則表達式對其進行解析。但是,XMLHttpRequest 對象並沒有提供一種簡單的方法來使用DOM操作解析返回的HTML。
使用瀏覽器的HTML解析器
編輯解析從AJAX返回的HTML的一種方法是將整個頁面添加為瀏覽器中當前文檔的子項。只需創建一個新節點並將返回的HTML文本放在新節點的innerHTML屬性中,如下所示:
var htmlDoc = document.createElement('div'); // Creates a new, empty DIV node.
htmlDoc.innerHTML = ajaxResult.responseText; // Places the returned HTML page inside the new node.
HTML文檔會自動解析,然後可以通過DOM操作進行搜索、導航和操作。