[-Fx-] HTML form 含有中文字 編碼 jquery

作者: Pttgambler ( )   2014-12-26 16:07:53
我的問題主要是如何利用 jquery post 來傳送 big5 資料到伺服器端,或者是有其他
方式?
※ [本文轉錄自 Web_Design 看板 #1Kd4AfZs ]
作者: Pttgambler ( ) 看板: Web_Design
標題: [請益] HTML form 含有中文字
時間: Fri Dec 26 01:00:23 2014
版友好,
我最近遇到一個問題,一個A網頁裡面有許多的超連結,每個連結點進去都有一個 form
tag,然後我想寫一個擴充套件,利用 javascript 之類的方式,來自動點擊每一個 form
的submit button,目前利用的方式是用 jquery get 每一個超連結,在 parse 出 form
點擊後所傳送的內容,再利用 jquery post 傳送,對大部分網頁連結都可以成功,
但有一個困難點無法突破,就是要傳送的資料裡面含有中文,且網頁是 big5 編碼,
jquery post 好像只能以 utf-8 編碼方式傳送,所以想問問版友有沒有方法可以解決?
或是給些關鍵字,讓我好 google,謝謝。
伺服器端應該也是吃 big5 編碼的資料,且我不可能動到伺服器端,所以只能利用客戶端
(擴充套件)這邊來解決。
更新一下
一開始的做法是利用 jquery + form serialize 的方式,可是發現傳送的 query
在有中文的地方會顯得不一樣,再加上發現jquery只能utf8,所以認為是編碼不同
在更新一次
我用 windows network monitor 去看 兩者傳出去的 request ,有何不同,發現在 query string
中間,中文字的編碼不同,例如要傳送出去的中文字是 "確認閱讀"
用手點submit傳出去的編碼為:send: %BDT%BB%7B%BE%5C%C5%AA
用post+form serialize為 :send: %EF%BF%BDT%EF%BF%BD%7B%EF%BF%BD%5C%C5%AA
有人有遇過類似的問題嗎? 謝謝
作者: Pttgambler ( )   2013-12-26 01:05:00
如果問題敘述不夠清楚,可以跟我講沒關係 :)
作者: guanting886 (Guanting)   2013-12-26 01:18:00
可以找有關 jquery + form serialize 的方向去找編碼通常是按照 encodeURIComponent 進行編碼所以一定是UTF-8你可能需要自己用 escape 實作一組 ajax post另一種思路,則是利用網頁自身,你自己造form tag再藉由湊齊上面的參數資料來模擬發送
作者: Pttgambler ( )   2013-12-26 01:28:00
serialize 試過了我忘記講我的困難點在於用手點和用 script 模擬發送所產生的 query 不一樣 而會產生不一樣都是因為 傳送的 data 不一樣 所以我認為是編碼不同是傳送的資料中有中文地方不一樣
作者: guanting886 (Guanting)   2013-12-26 01:34:00
如果要模擬可能你要用C# 配 WebBrowser來做不過我想你設計的套件應該可以跨網域如果編碼是個問題,不如用 ajax or iframe把需要編碼的資料丟給外部伺服器處理再弄回來另外你所說的手點跟模擬發送會不一樣也有一種可能是 cookie 不同
作者: GoalBased (Artificail Intelligence)   2013-12-26 11:12:00
你是要攻擊還是要做測試 如果要做測試可以找看看應該有這種測試的套件
作者: Pttgambler ( )   2013-12-26 14:37:00
自己用而已 把公司規定要點掉的點掉有人可以講清楚一點嗎
作者: Peruheru (還在想)   2013-12-26 14:40:00
(X)講清楚一點 (O)提供更詳細的資訊 換句話說,感受不同
作者: Pttgambler ( )   2013-12-26 14:43:00
Sorry 沒有惡意 如果讓大家感覺不好 我先道歉
作者: Peruheru (還在想)   2013-12-26 15:24:00
我想大家都知道你那麼說沒別的意思,只是小提醒一下

Links booklink

Contact Us: admin [ a t ] ucptt.com