2016-05-07 4 views
0

愚かな質問かもしれませんが、私はウェブで非常に初心者だと考えてください。ブラウザがAjaxレスポンスの資産を要求しないようにする方法

jquery $.ajaxでajaxを作成した後、現在のページの<div>に応答を入れます。これを実行すると、ブラウザはすべてのアセットのリクエストをajaxレスポンスに含めます。例えば

:これはプレーンな応答は、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> 

から来たのですか?

私はプレーンテキストではないHTMLとして応答でブラウザの契約を望んでPHP応答header('Content-Type: text/plain; charset=utf-8'); を作ってみましたが、それは、静止画像を要求します。

は、私は、サーバーのPHPから画像を削除することができますが、私はいくつかのクライアントツールを使用してクライアント側でこれをしなければならない(例:javascript

答えて

1

これは、サーバから返されたPHPやヘッダとは何の関係もありませんこのHTMLスニペットをDOMに含めると、ブラウザはそのHTMLスニペットをレンダリングしようとします。

あなたの場合、imgタグが含まれていて、src属性が設定されている場合は、内容を取得してユーザーに表示できるようにします。

htmlからimg-tagを削除するか、代わりにJSONオブジェクトとしてデータを送信します。これを使用して、正しいhtmlにページを表示するときに使用できます。

+0

'htmlからimg-tagを削除しますか? 'というのは、クライアントに送信される前にphpファイルから削除するという意味ですか?またはそれがクライアントに来て、ブラウザがそれを要求する前にそれを削除する方法がありますか?..ありがとう –

+1

AFAIK HTML文字列を操作する以外にクライアント側で削除する方法はありません。要素。おそらく 'data-src'を代わりに使用して、サーバから 'src'属性を設定することを避けることができればよいでしょう。 – Alnitak

+0

@AlnitakをDOMに変換するとどうなりますか? '$("#container_div ")[0] .innerHTML = response'のように、ページのコンテナdivの中に入れていますか? –

関連する問題