我构建了一个服务器端模块,该模块接受用户的登录名和密码作为参数并返回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对象旁边的成功/失败布尔值。谢谢!
答案 0 :(得分:0)
好像您只为端点启用了get
而不是post
。尝试将router.get
更改为router.post
。