我正在尝试部署一个 node.js Heroku 应用程序,它会监听请求并将编码的字符串简单地记录到控制台。 注意:我仅限于从我的程序中以 JSON 格式导出数据,这就是我使用 req.body
的原因。
JavaScript
const express = require('express')
const app = express()
app.get('/um', function (req, res) {
console.log(req.body[message]);
})
app.listen(process.env.PORT || 3000, function () {
console.log('App listening!')
})
Lua
local httpService = game:GetService('HttpService')
httpService:PostAsync("http://auto-attica.herokuapp.com/um", { "message" = "foo" })
而不是将文本记录到控制台。我在运行 Lua 的程序和 Heroku 控制台上都收到错误 404。
2017-10-30T00:10:04.826245+00:00 heroku[router]: at=info method=POST path="/um" host=auto-attica.heroku-f35fbe137630 fwd="95.148.67.104" dyno=web.1 connect=1ms service=5ms status=404 bytes=386 protocol=http
以及在 Lua 控制台上
00:16:02.074 - HTTP 404 (HTTP/1.1 404 Not Found)
00:16:02.074 - Stack Begin
00:16:02.075 - Script 'ServerScriptService.myOwnVanilla', Line 8
00:16:02.075 - Stack End
非常感谢您的宝贵时间
最佳答案
您正在您的快速路由中定义一个 GET
请求,但试图向它发送一个 POST
请求,这是您的 Heroku 日志向您显示的内容。
2017-10-30T00:10:04.826245+00:00 heroku[router]: at=info method=POST path="/um"
^^^^
可以尝试设置一个 POST
处理程序:
app.post('/um', function (req, res) {
console.log(req.body[message]);
})
关于javascript - 简单的 Node.js 故障排除 - 从 app.get() 接收 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47006614/