form表单的enctype属性
①application/x-www-form-urlencoded : 数据被编码为名称/值对。
②multipart/form-data : 数据被编码为一条消息,页上的每个控件对应消息中的一个部分。
③text/plain: 数据以纯文本形式进行编码。
1. text/plain是纯文本传输的意思,在发送邮件时要设置这种编码类型,否则会出现接收时编码混乱的问题
2. 在AJAX往服务器上传数据是,设置了
xmlHttp.setRequestHeader("Content-Type","application/x-www-form- urlencoded");
在服务器端,通过request.getParameter("name")的方式取值,是有问题的。
有两种解法办法:
1)改服务器端: 采用流的方式
1 InputStream stream = request.getInputStream(); 2 InputStreamReader isr = new InputStreamReader(stream); 3 BufferedReader br = new BufferedReader(isr); 4 String str = br.readLine(); 5 System.out.println(str); 6 7 str = URLDecoder.decode(str,"gb2312"); 8 System.out.println(str); 9 br.close();