已將HTTP頭輸出到客戶端瀏覽器。任何對HTTP頭的修改都必須在輸出頁內容之前進行

2022-11-22 07:15:14 字數 6010 閱讀 1836

1樓:百度網友

asp錯誤,同樣的程式在iis中可以執行

但在pws中會出錯,解決辦法是

把網頁中的response.redirect這樣的**,放在........之前

或者直接升級到iis就可以不修改程式了

2樓:匿名使用者

在傳送http頭之前不要有任何輸出就可以了!!

3樓:百度網友

發生的原因

此錯誤之所以發生是因為 web 伺服器已使用 http 標頭設定使用者端的瀏覽器,然後嘗試使用另一個 http 標頭進行重設動作,例如,當 http 標頭將瀏覽器設為 content-type=text/html 且於此之後發出重新導向動作。例如,處理的 asp 頁面在 response.redirect 陳述句之前包含 html 標籤或任何其他伺服器端的 script。

以下為寫入 http 標頭之 asp 「迴應」物件的內容和方法:

response.addheader

response.cachecontrol

response.charset

response.contenttype

response.expires

response.expiresabsolute

response.redirect

response.status

解決方案

設定 http 標頭,如 redirect 陳述句或 cookie 資訊,於傳送 html 輸出前執行。

舉例而言,如需避免此重新導向的錯誤,請於處理過程中將 asp 網頁儲存在緩衝區中或暫時保留,然後處理完成後在發出重新導向動作。完成此動作的方式有兩種:於應用程式層次或於網頁層次。

請注意: 務必確認重新導向動作在所有 asp script 後發出。如在 asp script 前發出,asp 程式碼即不會被處理,且 asp 頁面將直街被重新導向。

於應用程式層次,所有包含 web 應用程式的 asp 網頁皆會於處理時先存入緩衝區。如需設定應用層次的緩衝區,請至 microsoft management console (mmc) 進行設定。選擇您 web 應用程式所在的 web 站臺。

web 站臺顯示虛擬目錄和 web 應用程式。在 web 應用程式上按一下滑鼠右鍵,然後選取 [內容] 。於 [虛擬目錄] 標籤上,按一下 [設定] 。

請注意: 如果 [設定] 按鈕無法使用,則該虛擬目錄不是 web 應用程式。按一下 [建立] 使虛擬目錄成為 web 應用程式。

於 [應用程式設定] 對話方塊中,選取 [應用程式選項] 標籤,然後選取 [啟用緩衝區] 。

如需設定網頁層次的緩衝區,請在 asp 頁面中的 @language 文字行加入下列程式碼: <% @language = "vbscript" %>

<% response.buffer = true %>

other asp/clientside scripts or html ...

<% response.redirect %>

另一個方法是使用 cookies,其使用方法如下。此程式碼片段會在傳送標籤(元件)之前寫入 cookie

response.cookies("name")=value

...content...

參考資源:http://support.microsoft.com/?scid=kb;zh-tw;229657&spid=555&sid=global

response 物件 錯誤 'asp 0156 : 80004005' http 頭錯誤 /head.asp,行 4 已將 http 頭輸出到客戶端瀏覽器

4樓:翩翩葉隨風

看這個錯誤提示,應該是你像做轉向是吧?

asp中,在執行response.redirect這個轉向命令前,不能執行response.write命令

只要頁面上有輸入,任何形式的,都不可以再重定向了。

response 物件 錯誤 'asp 0156 : 80004005' http 頭錯誤 /conn.asp,行 4 已將 http 頭輸出到客戶端瀏覽器

5樓:百度網友

response.buffer = true應該是這行,去掉就ok

如果還不行就把

response.buffer = trueresponse.expiresabsolute = now() - 1

response.expires = 0

response.cachecontrol = "no-cache"

response.addheader "pragma", "no-cache"

全都去掉,這個是不快取頁面用的,去掉應該不會影響**

6樓:匿名使用者

response.expiresabsolute = now() - 1

response.expires = 0

去掉就行了

response 物件 錯誤 'asp 0156 : 80004005'http 頭錯誤 /admin/admin_login.asp,行 18

7樓:百度網友

檢查admin_login.asp第18行,看第18行是什麼錯誤

response 物件 錯誤 'asp 0156 : 80004005' 30

8樓:匿名使用者

出現此錯誤的原因是 web 伺服器使用 http 標頭設定客戶端瀏覽器。然後,在 web 伺服器試圖通過使用另一臺 http 標頭重置客戶端瀏覽 (例如對於當 http 頭集瀏覽器 內容型別 = 文字/html 並再發出重定向之後)。此示例是處理 asp 頁面時包含 html 標記或 response.

redirect 語句前的任何其他伺服器端指令碼。愛尚寶貝www.i3baby.

com注意如果您升級到 microsoft windows server 2003 執行 microsoft windows nt 4.0 的計算機,也會出現這種情況。此示例是處理 asp 頁面時包含 html 標記或 response.

redirect 語句前的任何其他伺服器端指令碼。下面的屬性和 響應 物件的 asp 的方法寫入 http 標頭:response.

addheaderresponse.cachecontrolresponse.charsetresponse.

contenttyperesponse.expiresresponse.expiresabsoluteresponse.

redirectresponse.status要解決此問題,請設定 http 標頭中的如 重定向 語句或 cookie 資訊之前您傳送 html 輸出。例如對於不必使用重定向此錯誤的緩衝區或限制在其處理過程中的 asp 頁併發出在處理後的重定向。

有兩種方法來完成緩衝: 頁級別或應用程式級別上。注意確保所有的 asp 指令碼之後發出時重定向。

如果頒發給 asp 指令碼之前 asp 頁將重定向,而不處理 asp **。在一個應用程式級別上對 web 應用程式內的所有 asp 頁都緩衝時它們的處理。若要設定在應用程式級別上緩衝,請按照下列步驟操作:

在 microsoft 管理控制檯 (mmc) 中,定位**,您的 web 應用程式所在的位置。單擊以以顯示虛擬目錄和 web 應用程式的**。用滑鼠右鍵單擊 web 應用程式,然後單擊 屬性。

在 虛擬目錄 選項卡上單擊 配置。注意如果 配置 按鈕,則無法使用虛擬目錄不是一個 web 應用程式。單擊 建立 建立 web 應用程式將虛擬目錄。

在 應用程式配置 對話方塊的在 應用程式選項 選項卡上單擊 啟用緩衝。若要設定在頁級別上緩衝後 @ 語言線條 asp 頁,如下所示, 新增**: <% @language = "vbscript" %><% response.

buffer = true %>other asp/clientside scripts or html ...<% response.redirect %>此外,您可以使用 cookie 來設定緩衝在一頁級別上如下面的**所示。

此**段將寫入該 cookie 才能傳送 標記 (元素)。response.cookies("name")=value...

content...具體參考

http://support.microsoft.com/kb/229657/

9樓:匿名使用者

所有的httpheader 修改,都必須在你輸入內容之前,否則會報這個錯誤。把你的header 修改移一下位置。移到業務邏輯最前面去。

10樓:百度網友

在你的asp**的第一行,加上 response.buffer = true

網頁執行後顯示response 物件 錯誤 'asp 0156 : 80004005' http 頭錯誤 請問怎麼解決!

11樓:匿名使用者

網頁有錯誤,可能是病毒造成的,也可能是瀏覽器的原因造成網頁有錯誤,還有可能就是自身網頁的問題造成網頁錯誤

解決辦法

1、開啟瀏覽器,點“工具”→“管理載入項”那裡禁用所有可疑外掛,或者你能準確知道沒問題的保留。然後→工具→internet選項→常規頁面→刪除cookies→刪除檔案→鉤選刪除所有離線內容→確定→設定使用的磁碟空間為:8mb或以下(我自己使用1mb)→確定→清除歷史紀錄→網頁儲存在歷史記錄中的天數:

3以下→應用確定(我自己使用的設定是0天)。

2、還原瀏覽器高階設定預設值:工具→internet選項→高階→還原預設設定。

3、恢復預設瀏覽器的方法“工具”→internet選項→程式→最下面有個“檢查internet explorer是否為預設的瀏覽器”把前面的鉤選上,確定。

4、設定主頁:“工具”→internet選項→常規→可以更改主頁地址→鍵入你喜歡的常用**→應用。

5、如果瀏覽器中毒就使用金山毒霸系統修復選擇系統清理選項,點選立即清理選擇安全百寶箱中系統修復,即可解決網頁上有錯誤解問題

如果是手機建議使用免費金山手機衛士,清理你的 手機病毒和垃圾再開啟網頁

12樓:士芮安

在頁面的最前端增加以下兩句**即可

<% @language = "vbscript" %>

<% response.buffer = true %>

13樓:匿名使用者

要解決此問題,請設定 http 標頭中的如 重定向 語句或 cookie 資訊之前您傳送 html 輸出。

例如對於不必使用重定向此錯誤的緩衝區或限制在其處理過程中的 asp 頁併發出在處理後的重定向。有兩種方法來完成緩衝: 頁級別或應用程式級別上。

注意確保所有的 asp 指令碼之後發出時重定向。如果頒發給 asp 指令碼之前 asp 頁將重定向,而不處理 asp **。

在一個應用程式級別上對 web 應用程式內的所有 asp 頁都緩衝時它們的處理。若要設定在應用程式級別上緩衝,請按照下列步驟操作:

在 microsoft 管理控制檯 (mmc) 中,定位**,您的 web 應用程式所在的位置。

單擊以以顯示虛擬目錄和 web 應用程式的**。

用滑鼠右鍵單擊 web 應用程式,然後單擊 屬性。

在 虛擬目錄 選項卡上單擊 配置。

注意如果 配置 按鈕,則無法使用虛擬目錄不是一個 web 應用程式。單擊 建立 建立 web 應用程式將虛擬目錄。

在 應用程式配置 對話方塊的在 應用程式選項 選項卡上單擊 啟用緩衝。

若要設定在頁級別上緩衝後 @ 語言線條 asp 頁,如下所示, 新增**:

<% @language = "vbscript" %>

<% response.buffer = true %>

other asp/clientside scripts or html ...

<% response.redirect %>

此外,您可以使用 cookie 來設定緩衝在一頁級別上如下面的**所示。此**段將寫入該 cookie 才能傳送 標記 (元素)。

response.cookies("name")=value

...content...