最近在研究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輕易就可以設置了
