我在基於jQuery的JavaScript代碼中執行AJAX調用。該響應包含一個<script>
標籤。但是,似乎jQuery刪除了這個標籤。jQuery是否刪除AJAX請求返回的腳本標記?
這是jQuery或XHR的正常行爲還是bug?
我在基於jQuery的JavaScript代碼中執行AJAX調用。該響應包含一個<script>
標籤。但是,似乎jQuery刪除了這個標籤。jQuery是否刪除AJAX請求返回的腳本標記?
這是jQuery或XHR的正常行爲還是bug?
這取決於您在AJAX調用中設置的dataType
選項。如果將其設置爲html
,它將以純文本的形式返回HTML,腳本標記已準備好插入到DOM中。如果設置爲script
,那麼jQuery將嘗試運行腳本並將結果作爲純文本字符串返回。
如果您未設置dataType
,那麼jQuery將自動從響應MIME類型推斷出該類型。
查看關於dataType
設置的更多信息,請查看jQuery文檔(http://api.jquery.com/jQuery.ajax/)。
謝謝you.i檢查內容類型在螢火蟲迴應標題,它是文本/ HTML,但沒有腳本標記是什麼是從AJAX返回。 – 2011-04-26 09:21:27
您可以嘗試將'dataType'設置爲'text'以查看是否有幫助。這將使jQuery以純文本的形式返回您的響應,而無需處理。 – 2011-04-26 09:33:20
謝謝you.i會嘗試。但現在,我看到了firebug中的響應選項卡中的腳本標記,但沒有看到螢火蟲的html選項卡中的腳本標記。 – 2011-04-26 09:44:14
取決於你的jQuery版本。 我試過1.4,將刪除(但執行)<script>
,而1.9會保留它。
編輯你的問題 - 這是一個很好的問題,但它是可怕的閱讀。 – ThiefMaster 2011-04-26 07:34:00
謝謝thiefMaster;) – 2011-04-26 09:21:45