2

I'm working on creating a basic login system, and since the server-side uses NodeJS, but client-side doesn't. I have to make any calls that use NPM packages on the server side. The issue is I have no clue how to call a server-side NodeJS function from the Client-Side JavaScript. Basically I wan't to be able to call a function that's stored on the server from the client browser.

4 Answers 4

4

Make a route in your nodejs application like so:

app.get('/users', function(req, res) {
 // Your function to be called goes here.
});

Now you can call this code from your client side javascript using ajax. Like this:

$.ajax({
 type: 'GET'
 url: 'http://localhost:8000/users',
 success: function(response) { 
  console.log(response);
 },
 error: function(xhr, status, err) {
   console.log(xhr.responseText);
 }
});
Sign up to request clarification or add additional context in comments.

2 Comments

I see, can I put multiple functions inside the app.get, or do I need to change the '/users' for each function?
You can pass any number of callbacks to the routes like app.get('/users', cb1, cb2, ...). This answer has given a good clarification.
0

Create a REST API and map the request parameters to the specific function calls you need to use. See this tutorial on creating REST APIs.

Comments

0

You do this by calling APIs on the server (a specific url that will to some specific work).In JS you need ajax. Have a look here

//url be the api like '/api/something/'
$("button").click(function(){
  $.ajax({url: "demo_test.txt", success: function(result){
    // your response
  }});
});

in Node we have axios that will do the same example

axios.post('api/tobackend/function',{user:'a',password:'b'})
     .then((res)=>console.log('response from server'))

in backed you might need route to handle the request.

router.post('api/tobackend/function',(reqs,resp)=>{console.log('backend')})

Comments

0
  1. With Socket.io

  2. in JS

    let xhr = new XMLHttpRequest(); xhr.open('GET', '/user/sessionDestroy'); xhr.send();

In Node.JS

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.