2017-08-10 72 views
0

我在我的應用程序中使用ElasticSearch,其中可以在ajax調用下加載更多搜索結果(使用ajax分頁)。但是,Ajax響應與標籤在開始的時候來臨,因爲它遵循:意外的<head/> AJAX響應中的標記

Response screenshot

當這個響應被添加到我的HTML頁面,它破壞了,因爲這個網格:

Broken HTML

我很想做一個簡單的JavaScript替換空字符串,但我想找出真正的原因。

有關它爲什麼會發生的任何想法?是否可以由APACHE服務器引起?請幫忙。

+0

Jush htmlResponse.replace('',''); :v – HoangHieu

+0

檢查原始文件的來源,因爲AJAX會在請求的頁面中返回*整個*標記集。 –

+0

''甚至不是有效的HTML,所以我必須假設它是你添加的東西,而不是你正在使用的實用程序 – RiggsFolly

回答

0

在我們的服務器中發現Pagespeed擴展與Apache協同工作後,我解決了我的問題。該擴展程序有一個過濾器,它在缺少HTML文檔的地方添加<head>標籤。所以,考慮到我的AJAX響應是部分HTML正文,此過濾器自動添加<head>標記,因爲響應內容類型爲text/html。我所要做的就是在必要的情況下將此內容類型更改爲text/ajaxresponse。禁用這個擴展是不值得的,因爲可能有一些頁面需要它。