MozTW 討論區 https://forum.moztw.org/ |
|
為什麼Firefox無法透過POST方法將表單的資料傳回我的伺服器? https://forum.moztw.org/viewtopic.php?f=13&t=18581 |
第 1 頁 (共 1 頁) |
發表人: | alexkwan [ 2007-04-19, 10:44 ] |
文章主題 : | 為什麼Firefox無法透過POST方法將表單的資料傳回我的伺服器? |
代碼: <form method=POST action=http://xxxx enctype=text/plain>
<center>歡迎給我發個訊息<br> <input type=text id=chattext name=chattext> <input type=submit value=發訊> </center> </form> 這是我表單的HTML碼 接收端是一個VB程式,用來接受和回應來自瀏覽器的HTTP請求 在IE我按下「發訊」後,我能在接收端的程式看到來自瀏覽器的HTTP請求,還有透過POST方法傳送過來的表單資料 但在Firefox下,我就只看到瀏覽器傳回HTTP請求,但表單的資料卻沒有被傳回 請問有可能是哪一方面出了問題? |
發表人: | kourge [ 2007-04-19, 15:06 ] |
文章主題 : | |
有沒有可能是 enctype 的問題? |
發表人: | alexkwan [ 2007-04-19, 19:49 ] |
文章主題 : | |
我已經嘗試過把enctype屬性移除掉 可是瀏覽器還是沒有將表單的資料傳回給我... 我剛用了三款瀏覽器測試,並把回傳的資料截下來 http://farm1.static.flickr.com/180/465007950_2531332bf3_o.png 另外這是我設計讓程式回傳給瀏覽器的HTTP回應 代碼: HTTP/1.1 200 OK
Content-Type: text/html; charset=Big5 Date: Fri, 19 Apr 2007 11:30:33 GMT Server: Alex Last-Modified: Fri, 19 Apr 2007 11:30:33 GMT Accept-Ranges: bytes Content-Length: 25 Connection: close 問題會不會是來自這裡? |
發表人: | kourge [ 2007-04-20, 15:54 ] |
文章主題 : | |
這個問題可能出在你寫的 VB 程式,不知你的程式是採用甚麼方法去 parse 瀏覽器傳回來的 HTTP response? 因為三個瀏覽器都有傳回 Content-Length: 13,而 chattext=Test 的確是十三個字元長,可見瀏覽器有做回應,只是不知道資料跑到哪裡去了... 另外有趣的是,IE 有送回的 response 有顯示 Google Analytics 的 cookie,而其他並沒有? 要判斷這是瀏覽器的問題,還是 VB 程式的問題,方法有二。 一、不要 parse 傳回來的 HTTP response,直接 dump 出來。 二、極端一點,用 Ethereal 把封包擷取起來,看看資料有沒有被包在裡面,沒有的話就是瀏覽器的問題。 這種 HTML 真是太恐怖了,看了眼睛都快掉出來了: 代碼: <form method=POST action=http://xxxx enctype=text/plain> <center>歡迎給我發個訊息<br> <input type=text id=chattext name=chattext> <input type=submit value=發訊> </center> </form> 改成這樣比較賞心悅目^^: 代碼: <form method="post" action="http://xxxx" enctype="text/plain">
<center>歡迎給我發個訊息<br /> <input type="text" id="chattext" name="chattext"> <input type="submit" value="發訊"> </center> </form> 說到 HTML,你指定的 enctype 是 text/plain,可是三個瀏覽器送回來的 response 都是用 application/x-www-form-urlencoded? 把 HTML 的 enctype 改成 application/x-www-form-urlencoded 看看。 |
發表人: | alexkwan [ 2007-04-21, 04:00 ] |
文章主題 : | |
我將瀏覽器的回應原汁原味的取出來 終於知道究竟出了什麼問題了 原來IE瀏覽器透過POST方法傳送表單資料時是直接把資料放到POST請求裡 而其他的瀏覽器則會先將POST請求傳送回伺服器,然後再將表單的資料獨立傳回伺服器 謝謝你的幫忙,多虧你給我的意見我才能明白不同瀏覽器使用POST方法傳表單時的不同之處! |
第 1 頁 (共 1 頁) | 所有顯示的時間為 UTC + 8 小時 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |