首页 > Web开发 > 详细

修改上一篇文章的node.js代码,支持调用自定义页面

时间:2017-01-08 17:28:42      阅读:207      评论:0      收藏:0      [点我收藏+]

上一篇文章所有请求只能调用index.html,现在做个改造,允许调用自定义页面

 

服务端 app.js

var app = require(‘http‘).createServer(handler)
var io = require(‘socket.io‘)(app);
var fs = require(‘fs‘);
var url = require("url");

app.listen(80);

function handler (req, res) {
  fs.readFile(__dirname + url.parse(req.url).pathname, ‘utf-8‘,
  function (err, data) {
    if (err) {
      res.writeHead(500);
      return res.end(‘Error loading ‘ + url.parse(req.url).pathname);
    }

    res.writeHead(200);
    res.end(data);
  });
}

io.on(‘connection‘, function (socket) {
  socket.emit(‘news‘, { hello: ‘world‘ });
  socket.on(‘my other event‘, function (data) {
    console.log(data);
  });
});

说明:首先使用var url = require("url");加载url模块,然后使用url.parse(req.url).pathname调用自定义页面

 

客户端 demo1.html

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>demo</title>
</head>

<body>
<script src="/socket.io/socket.io.js"></script>
<script src="jquery-2.1.1.js"></script>
<script>
  var socket = io(http://localhost);
  socket.on(news, function (data) {
    console.log(data);
    socket.emit(my other event, { my: data });
  });

$(document).ready(function(){
  alert("document ready!");
}); 
</script>
</body>
</html>

说明:这个加载了一个jquery的库,如果不能调用自定义页面,按之前代码的写法,所有请求都会加载index.html页面的内容

修改上一篇文章的node.js代码,支持调用自定义页面

原文:http://www.cnblogs.com/modou/p/6262236.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!