Как мне вызвать конечную точку API, которую я создал из своего клиентского приложения?
Я создал серверный модуль, который принимает логин и пароль пользователя в качестве параметров и возвращает объект JSON. Я пытаюсь вызвать этот модуль со стороны клиента, используя конечную точку API, указанную в объекте маршрутизатора, но получаю 404 ошибки.
Не уверен, как поступить, чтобы решить проблему.
Мой серверный модуль:
'use strict';
var express = require('express');
var router = express.Router();
// Endpoint to be call from the client side
router.get('/api/endpoint', function(req, res){
let login = req.params('login')
let pwd = req.params('pwd')
//does stuff
doSomething.then((value) => {
return res.json(value)
})
});
module.exports = myModule;
Мой клиентский модуль:
var MyModule = (function() {
var endpoint = '/api/endpoint';
// Publicly accessible methods defined
return {
myFunction: myFunction,
};
function myFunction(login, pwd) {
// Built http request
var http = new XMLHttpRequest();
http.open('POST', endpoint, true);
http.setRequestHeader('Content-type', 'application/json');
http.onreadystatechange = function() {
if (http.readyState === 4 && http.status === 200 && http.responseText) {
console.log(http.responseText)
}
};
// Send request
http.send();
}
}());
В идеале эта функция вызывается нажатием кнопки, регистрирует пользователя и возвращает логическое значение успеха / неудачи вместе с рассматриваемым объектом JSON. Спасибо!
1 ответ
Похоже, вы только включены get
и не post
для вашей конечной точки. Попробуйте изменить свой router.get
в router.post
,