如何调用从客户端应用程序创建的API端点?

时间:2018-07-12 09:07:49

标签: node.js http express serverside-javascript

我构建了一个服务器端模块,该模块接受用户的登录名和密码作为参数并返回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 个答案:

答案 0 :(得分:0)

好像您只为端点启用了get而不是post。尝试将router.get更改为router.post