私はSocket.IO
サーバーサイドコードあなたがルータ機能を使用することができますまた
var io = require('socket.io').listen(80); // initiate socket.io server
io.sockets.on('connection', function (socket) {
socket.emit('news', { hello: 'world' }); // Send data to client
// wait for the event raised by the client
socket.on('my other event', function (data) {
console.log(data);
});
});
とクライアント側
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://localhost'); // connec to server
socket.on('news', function (data) { // listen to news event raised by the server
console.log(data);
socket.emit('my other event', { my: 'data' }); // raise an event on the server
});
</script>
、使用することをお勧めしたいです特定のrの関数を呼び出すクライアントからequest
var server = connect()
.use(function (req, res, next) {
var query;
var url_parts = url.parse(req.url, true);
query = url_parts.query;
if (req.method == 'GET') {
switch (url_parts.pathname) {
case '/somepath':
// do something
call_some_fn()
res.end();
break;
}
}
})
.listen(8080);
火AJAX
jQueryの
を使用して要求 $.ajax({
type: 'get',
url: '/somepath',
success: function (data) {
// use data
}
})
私の知る限り(私が間違っているなら、私を修正)、あなたが直接クライアントからサーバー上のメソッドを呼び出すことはできません。ただし、メソッド名を付けてサーバーに何らかの要求を送信してから、サーバーが呼び出すことができます。 – Supericy
@Supericy:あなたの応答に感謝しますが、私はコードを直接説明することはできません。 – user1629448
クライアントが要求するエンドポイントを公開する必要があります。 express.jsでは、それは 'app.get( '/ some.name'、function(req、res){// call code})'のようなものです。次に、クライアント上のAJAX呼び出しを介してそのエンドポイントにヒットすることができます。 – jli