background image

使用

JavaScript 脚本的 XMLHTTPRequest 对象发送请求。

1)在浏览器地址栏中直接输入 URL

URL 中包含非 ASCII 码字符时,Firefox 会自动将这些字符进行转义,转义使用的

 

编码由浏览器的语言版本决定。例 如,

http://www.baidu.com/s?wd=

中文 将会转义

http://www.baidu.com/s?wd=%D6%D0%CE %C4。

Firefox 也 提 供 了 使 用 UTF-8 进 行 URL 编 码 的 选 项 。 在 地 址 栏 中 输 入

“about:config”

 

,并按回车键打开配置页面,在过滤器中输 入

network.standard-

url.encode-utf8”以定位到该选项,如图 6-1 所示。将该选项的值修改为 true,以使 
Firefox 始 终 用 UTF-8 对 URL 进 行 转 义 。 这 样 , 上 述 URL 将 转 义 为
http://www.baidu.com/s?wd=%E4%B8%AD

 

%E6%96%87

默认情况下,中文

Windows 平台上的 IE 浏览器将 URL

“ ”

分为两个部分, ? 之前的

部分

URL 使用 UTF8

“ ”

 

进行转义,而 ? 之后的参数部分, 则不进行转义而直接使用

GBK

编码发送。例如

URL“http://localhost/中文.jsp?test=

中文 ,前一个 中文 将按 照

UTF8 

编码的转义形式

%E4%B8%AD%E6%96%87”

发送,而参数部分的 中文 则直接

GBK 编码发送,因此,最终发送的 URL 如图 6-2 所示。

IE

Internet

” “

选项 的 高级 选项卡页中有一个选项 总是以

UTF-8 发送 URL”,

在缺省情况下该选项是选中的。如果去掉这个选项,

IE 将会以系统当前的代码页来对 URL

进行编码。在中文

Windows 中整个 URL 都将以 GBK 编码发送,如图 6-3 所示。

2

)在页面中通过单击 提交 按钮来提交表单

在表单中属性

method”用来指定提交表单时所使用的 HTTP 请求方法,可以选择

Post 或者 Get。用户不指定时,默认采用 Get 方法。而表单所提交内容采用的编码则由页
面当前的编码决定。例如,在一个

JSP 中包含以下表单代码:

===formencoding.jsp====
<%@ page language="java" contentType="text/html; charset=GBK"
    pageEncoding="GBK"%>
<form action="formencoding.jsp" >
<input type="text" name="中文" ></input>
<input type="submit"/>
</form>

IE 或 Firefox

浏览器中打开该页面,在 中文 输入框中填入 中文 并单击 提交 按钮,

会产生一个

Get 请求,所使用的 URL 为:

http://localhost:8080/jsbook/formencoding.jsp?%D6%D0%CE%C4=
%D6%D0%CE%C4

即使用

GBK 编码对 URL 进行转义。

如果将该页面的

contentType 重置为 contentType="text/html; charset=UTF-

8",则该表单所产生的 URL 为:

http://localhost:8080/jsbook/formencoding.jsp? %E4%B8%AD
%E6%96%87= %E4%B8%AD%E6%96%87%

即使用

UTF-8 编码对 URL 进行

转义。

如果表单使用

Post 方法,则提交的参数将放在请求的消息体中,而使用的编码方式仍