cschaeffler
cschaeffler

Reputation: 453

Passing Function from Server to Client

for a recent project of mine I need to pass two functions from my server (written in node.js) to a client javascript tag. Actually to be completly correct, the client side javascript calls an XML request and I want to return some data and two functions for him which he should be able to use.

Second thing is I want to store a javascript function into a database in the server and then fetch it if the client requests it.

Anyone knows how this can be archieved and has some experience with it?

Upvotes: 1

Views: 2740

Answers (1)

Laurent Perrin
Laurent Perrin

Reputation: 14881

Note: you should really consider doing this in an HTTPS connection.

OK, so you want to receive code from the server and run it on the client. You could inject a script tag to the body and let the browser execute it. However, since you trust the code. I would simply use an eval call since that's what you'll doing anyway.

Here's how it would look in an Express app:

// server
function hello() {
  alert('hello');
}

app.get('/get/js/code', function (req, res) {
  res.send({
    code: hello.toString(),
    start: 'hello()'
  });
});

// client (with jQuery)
$(function () {
  $.getJSON('/get/js/code', function (json) {
    eval(json.code + ';' + json.start + ';');
  });
});

Upvotes: 2

Related Questions