最近在研究javascript 的服务端应用 node,之所以想要研究node,是因为前几个月一直在前端挣扎,从javascript入门到在项目中实际使用javascript,确实感悟颇深。javascript的书籍看了《javascript权威指南》,这本书确实对javascript的入门很不错,之后看了《JavaScript设计模式与开发实践》,这本书我当做是边学javascript知识,边学一下设计模式,也很不错。废话少说,这几天看了一下nodejs,发现虽然是新的知识,当感觉却很熟悉,跟python 的tornado的web框架很像,乃至nodejs都可以看到python的影子,比如说模块的引入等等。
分享一下如何解决node后端response给web服务器乱码的解决办法:
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
// 创建 application/x-www-form-urlencoded 编码解析
var urlencodedParser = bodyParser.urlencoded({ extended: false })
app.use(express.static('public'));
app.get('/index.html', function (req, res) {
res.sendFile( __dirname + "/" + "index.html" );
})
app.post('/process_post', urlencodedParser, function (req, res) {
// 输出 JSON 格式
res.writeHead(200,{'Content-Type':'text/html;charset=utf-8'});//设置response编码为utf-8
response = {
first_name:req.body.first_name,
last_name:req.body.last_name
};
console.log(response);
res.end(JSON.stringify(response));
})
var server = app.listen(8081, function () {
var host = server.address().address
var port = server.address().port
console.log("应用实例,访问地址为 http://%s:%s", host, port)
})
如上所示:
res.writeHead(200,{'Content-Type':'text/html;charset=utf-8'})
这里设置回复编码为utf-8
另外要想做到万无一失:建议html,js文件的编码格式设置为utf-8,这里我使用sublime轻易就可以设置了