HTMer » 编程开发 » 网页表单慎用直接在递交请求的action里直接设置中文参数

网页表单慎用直接在递交请求的action里直接设置中文参数

我们在网页设置中通常会向服务器递交一些表单参数,为了方便我们在各个页面中的参数传递,在html脚本里递交服务器请求时可以直接如下方式:

location.href="abc.asp?name=参数一"
也可以是在<form action="abc.asp?name=参数一" >然后submit到该form

大家有没有发现后面的参数中都是传递的中文参数,虽然这样显得很方便,但是在服务器处理时存在着问题:

在IE中以上方式的递交请求,自动采用了操作系统的默认字符编码,而不是当前网页指定的网页字符编码;而在firefox中以上方式的递交请求,使用的是当前网页指定的网页字符编码,而不是操作系统的默认字符编码。这就表明:如果网页指定的字符编码与操作系统默认字符编码不一致时,网页通过这2种浏览器向服务器递交请求时的字符编码就不一致了,服务器在处理上相当麻烦。而且有时用中文参数传递时,在firefox中会出现无法传递的现象,导致网页出错。

所以建议将含中文的参数放在表单的内容里,统一通过网页字符编码递交请求。如上面例子可改为:

<form action="abc.asp"><input type=hidden name='name' value='参数一' /></form>

顶一下 ▲()   踩一下 ▼()

相关文章