场景:前台一个简单的form 登陆页 提交姓名,汉字。用firebug观察post请求如下:
参数application/x-www-form-urlencoded
age
name 王
源代码
name=%E7%8E%8B&age=
可见浏览器对汉字进行了UTF-8的URL编码。 后台nodejs服务器 代码:
function queryName(response, request){
var postData = "";
request.setEncoding('utf8');
request.addListener("data", function(postDataChunk){
postData += postDataChunk;
console.log("Received POST data chunk '"+postDataChunk+"'.");
});
request.addListener("end", function(){
console.log("完成:"+params.name);
});
}
request.setEncoding(‘utf8’);后依然是, name=%E7%8E%8B&age= 求真相。
6 回复
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
</head>
<body>
<form action="/queryName" method="post">
用户名:<input type="text" name="name"> </br>
年龄:<input type="text" name="age"></br>
<input type="submit" value="登录">
</form>
</body></html>
仅仅是个表单提交啊,如何用得encodeURIComponent呢