Как вызвать функцию NodeJS на стороне сервера с помощью клиентского JavaScript - PullRequest
0 голосов
/ 22 декабря 2018

Я работаю над созданием базовой системы входа в систему, и поскольку на стороне сервера используется NodeJS, а на стороне клиента - нет.Я должен делать любые звонки, которые используют пакеты NPM на стороне сервера.Проблема в том, что я понятия не имею, как вызвать функцию NodeJS на стороне сервера из клиентского JavaScript.По сути, я не хочу вызывать функцию, которая хранится на сервере, из клиентского браузера.

Ответы [ 3 ]

0 голосов
/ 22 декабря 2018

Создайте маршрут в вашем приложении nodejs следующим образом:

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

Теперь вы можете вызывать этот код из клиентского javascript, используя ajax.Как это:

$.ajax({
 type: 'GET'
 url: 'http://localhost:8000/users',
 success: function(response) { 
  console.log(response);
 },
 error: function(xhr, status, err) {
   console.log(xhr.responseText);
 }
});
0 голосов
/ 22 декабря 2018

Вы делаете это, вызывая API на сервере (определенный URL, который будет выполнять какую-то конкретную работу). В JS вам нужен ajax. Посмотрите здесь

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

в узле у нас есть axios , который будет делать тот же пример

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

в поддержке, вам может понадобитьсямаршрут для обработки запроса.

router.post('api/tobackend/function',(reqs,resp)=>{console.log('backend')})
0 голосов
/ 22 декабря 2018

Создайте API REST и сопоставьте параметры запроса с конкретными вызовами функций, которые вам нужно использовать.См. этот урок по созданию REST API.

...