【问题标题】:Make CRUD request with Nodejs使用 Nodejs 发出 CRUD 请求
【发布时间】:2018-06-15 15:23:01
【问题描述】:

我想用 nodeJS 对端点进行 ajax 调用。我通过做很多“get”请求

http.get('url', (res) => ....)

现在,我要发出“发布、放置和删除”请求

例如,我想做的事

http.post('url', 'body', (res) => ...)
http.put....
http.delete ...

当我执行那个 http.post 请求时,我得到“TypeError:“listener”参数必须是一个函数”。 这是我的完整要求

http.post(environment.url , req.body, (resp) => {
    let data = '';

    // A chunk of data has been recieved.
    resp.on('data', (chunk) => {
        data += chunk;
    });

    // The whole response has been received. Print out the result.
    resp.on('end', () => {
        return res.status(200).send(JSON.parse(data))
    });

}).on("error", (err) => {
    res.status(404).send(err)
});

有可能吗?非常感谢

【问题讨论】:

    标签: node.js ajax request function-calls


    【解决方案1】:

    由于某种原因,NodeJS 似乎没有在 http 模块中将其他 HTTP 方法实现为自己的方法。您必须使用 http.request 并在选项中设置请求方法。

    用最简单的形式,你应该可以写

    var req = http.request({method: 'POST', path: url}, (res) => ...);
    req.write(body);
    req.end();
    

    来源: https://nodejs.org/api/http.html#http_http_request_options_callback

    【讨论】:

    • 好的@ShamPooSham,但是我该怎么做才能在选项中正确发送 req.body 以避免端点问题,因为我的端点正在等待 req.body 保存数据?非常感谢
    猜你喜欢
    • 2021-10-11
    • 2018-05-04
    • 2018-08-19
    • 2013-11-01
    • 1970-01-01
    • 2016-10-21
    • 2018-08-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多