在服务端默认发送的数据,其实是utf-8编码,中文操作系统默认的是gbk
Content-Type:查询类型https://tool.oschina.net/
在发送响应前加上
res.setHeader('Content-Type','text/plain;charset=utf-8')
就会响应内容的类型为文本格式(text/plain)。
如果发送的是html格式的字符串,就用text/html。
var http=require('http')
var server=http.createServer()
server.on('request',function(req,res){
var url=req.url
if(url==='/plain'){
res.setHeader('Content-Type','text/plain;charset=utf-8')
res.end('hello 世界')
}else if(url==='/html'){
res.setHeader('Content-Type','text/html;charset=utf-8')
res.end('hello html 点我
')
}
})
server.listen(3000,function(){
console.log('server is running')
})
服务器读取文件:
var http = require('http')
var fs = require('fs')
var server = http.createServer()
server.on ('request',function(req,res) {
var url = req.url
if (url==='/login') {
// res.setHeader('Content-Type','text/plain;charset=utf-8')
// res.end('hello 世界')
fs.readFile('./index.html',function(err,data){
if(err){
res.setHeader('Content-Type','text/plain;charset=utf-8')
res.end('文件读取失败,请稍后重试')
}else{
res.setHeader('Content-Type','text/html;charset=utf-8')
res.end(data)
}
})
}else if (url==='/html') {
// res.setHeader('Content-Type','text/html;charset=utf-8')
// res.end('hello html 点我
')
}
})
server.listen (3000,function(){
console.log('server is running')
})
或者
var http = require('http')
var fs = require('fs')
var server = http.createServer()
var wwwDir='E:/Web前端/www'
server.on('request',function(req,res){
var url=req.url
if(url ==='/'){
fs.readFile('E:/Web前端/www',function(err,data){
if(err){
//return 有两个作用
//1.方法返回值
//2.阻止代码继续向后执行
return res.end('404')
}
res.end(data)
})
}else if(url==='/a.txt'){
fs.readFile(wwwDir + '/a.txt',function(err,data){
if(err){
return res.end('404')
}
res.end(data)
})
}else if(url==='/index.html'){
fs.readFile(wwwDir + '/index.html',function(err,data){
if(err){
return res.end('404')
}
res.end(data)
})
}else if(url==='/apple/login.html'){
fs.readFile(wwwDir + '/apple/login.html',function(err,data){
if(err){
return res.end('404')
}
res.end(data)
})
}
})
server.listen(3000,function(){
console.log('服务器启动成功')
})