Fw: [请益] HTML form 含有中文字 编码 jquery

楼主: Pttgambler ( )   2014-12-26 14:44:59
我的问题主要是如何利用 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 ,有何不同,发现在 quer
y 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
发现中文字都是用 big5 编码,不过用 serialize 得到的参数,每一个中文字都多了
%EF%BF
有人有遇过类似的问题吗? 谢谢
楼主: 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 没有恶意 如果让大家感觉不好 我先道歉

Links booklink

Contact Us: admin [ a t ] ucptt.com