MozTW 討論區

各項 Mozilla 相關軟體與技術討論
現在的時間是 2025-08-04, 21:14

所有顯示的時間為 UTC + 8 小時





發表新文章 回覆主題  [ 5 篇文章 ] 
發表人 內容
文章發表於 : 2007-04-19, 10:44 
代碼:
<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請求,但表單的資料卻沒有被傳回
請問有可能是哪一方面出了問題?


回頂端
Opera/9.20 (Windows NT 5.1; U; zh-tw)
  
引用回覆  
 文章主題 :
文章發表於 : 2007-04-19, 15:06 
離線
[網站管理員]
頭像

註冊時間: 2004-09-27, 09:24
文章: 1685
有沒有可能是 enctype 的問題?

_________________
korp + korp 中文站(沒精神更新)


回頂端
Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 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

問題會不會是來自這裡?


回頂端
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.2; .NET CLR 3.0.04506.30)
  
引用回覆  
 文章主題 :
文章發表於 : 2007-04-20, 15:54 
離線
[網站管理員]
頭像

註冊時間: 2004-09-27, 09:24
文章: 1685
這個問題可能出在你寫的 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 看看。

_________________
korp + korp 中文站(沒精神更新)


回頂端
Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3
 個人資料  
引用回覆  
 文章主題 :
文章發表於 : 2007-04-21, 04:00 
我將瀏覽器的回應原汁原味的取出來
終於知道究竟出了什麼問題了
原來IE瀏覽器透過POST方法傳送表單資料時是直接把資料放到POST請求裡
而其他的瀏覽器則會先將POST請求傳送回伺服器,然後再將表單的資料獨立傳回伺服器
謝謝你的幫忙,多虧你給我的意見我才能明白不同瀏覽器使用POST方法傳表單時的不同之處!


回頂端
Opera/9.20 (Windows NT 5.1; U; zh-tw)
  
引用回覆  
顯示文章 :  排序  
發表新文章 回覆主題  [ 5 篇文章 ] 

所有顯示的時間為 UTC + 8 小時


誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客


不能 在這個版面發表主題
不能 在這個版面回覆主題
不能 在這個版面編輯您的文章
不能 在這個版面刪除您的文章
不能 在這個版面上傳附加檔案

搜尋:
前往 :  
Powered by phpBB® Forum Software © phpBB Group
正體中文語系由 竹貓星球 維護製作
© moztw.org, Mozilla Foundation
MozTW,Mozilla 台灣社群