Categories
javascript node.js

How to call node.js server side method from javascript?

I’m new to node.js but I know somewhat about socketstream web framework by using this I can easily call a server side node.js method from JavaScript. I don’t know how to do this without using that framework. How can I call the node.js method from JavaScript?

The below code is using socketstream to call server side method. So I want to call the same server side method without using this framework.

ss.rpc('FileName.methodName',function(res){ 
alert(res);
});

I’d suggest use Socket.IO

Server-side code

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);
});
});

and client-side

<script src="https://www.faqcode4u.com/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>

Alternatively, you can use a router function which calls some function on specific request from the client

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);

And fire AJAX request using JQuery

$.ajax({
type: 'get',
url: '/somepath',
success: function (data) {
// use data
}
})