2016-05-07 84 views
0

這可能是一個愚蠢的問題,但請考慮我在網上很新手。如何防止瀏覽器請求資產來自ajax響應

我用jquery $.ajax做了一個ajax,然後我把響應放在當前頁面的<div>,一旦我這樣做,瀏覽器就會在ajax響應中請求所有資產。

例如:這是純響應從阿賈克斯

this is a plain text response from my php server 
    <div> 
    <p> this is the important response,(some value)</p> 
    <image src="NOT_important_image.png"></image> 
    </div> 

如何防止客戶端上的瀏覽器請求圖像來的?

我試圖使PHP響應header('Content-Type: text/plain; charset=utf-8'); 希望瀏覽器處理作爲純文本而不是html的響應,但它仍然請求圖像。

我可以從服務器PHP中刪除圖像,但我不得不這樣做與一些客戶端工具的客戶端(如:javascript

回答

1

這有什麼做用PHP或頭從服務器返回,但是當你將這個html-snippet包含到DOM中時,瀏覽器將嘗試呈現它。

就你而言,如果它包含一個img-tag並且設置了src-attribute,它將嘗試獲取內容,以便能夠將其顯示給用戶。

從html中刪除img-tag,或者將數據作爲JSON對象發送,而您可以使用它來填充正確的html,以便在頁面上顯示它。

+0

'從html中刪除img-tag你的意思是將它從php文件中刪除,然後再發送給客戶端?或者有一種方法可以在它到達客戶端並在瀏覽器請求之前刪除它?謝謝 –

+1

AFAIK無法在客戶端刪除它,除非在轉換爲DOM之前操作HTML字符串*元素。如果可以避免從服務器設置'src'屬性,或許使用'data-src',那將會更好。 – Alnitak

+0

@Alnitak何時轉換爲DOM?是當它把它放在頁面的容器div裏面,比如'$(「#container_div」)[0] .innerHTML = response'? –

相關問題