错误:options.uri是必需的参数

我正在使用node.js v4.6.0和express,request和body-parser的最新版本,但是我得到了一个我无法修复的错误代码,有什么想法?

这是我的代码:

var express = require('express'); var request = require('request'); var bodyparser = require('body-parser'); var app = express(); app.use(bodyparser.urlencoded({extended: true})) var webhook = process.env.DISCORD_WEBHOOK; app.get('/', (req, res) => { res.sendFile(__dirname + '/index.html'); }); app.post('/webhook', (req, res) =>{ request({ method: 'POST', url: webhook, json: { "content": req.body.msg, "username": "Potato" } }); res.redirect("/"); }); app.listen(80, () => { console.log("Server Started!"); }); 

和我收到的错误消息:

 Error: options.uri is a required argument at Request.init (C:\Users\kingn\node_modules\request\request.js:233:31) at new Request (C:\Users\kingn\node_modules\request\request.js:129:8) at request (C:\Users\kingn\node_modules\request\index.js:55:10) at C:\Users\kingn\index.js:15:5 at Layer.handle [as handle_request] (C:\Users\kingn\node_modules\express\lib\router\layer.js:95:5) at next (C:\Users\kingn\node_modules\express\lib\router\route.js:131:13) at Route.dispatch (C:\Users\kingn\node_modules\express\lib\router\route.js:112:3) at Layer.handle [as handle_request] (C:\Users\kingn\node_modules\express\lib\router\layer.js:95:5) at C:\Users\kingn\node_modules\express\lib\router\index.js:277:22 at Function.process_params (C:\Users\kingn\node_modules\express\lib\router\index.js:330:12) 

任何修复?

您需要在提出请求时提供URL信息,请检查是否将正确的URL分配给您的webhookvariables,即

var webhook = process.env.DISCORD_WEBHOOK; // webhook应该被分配一个有效的URL例如:' https : //stackoverflow.com/ '

尝试console.log(webhook);

找出您正在提出请求的url。

对象请求具有参数uri not url。 https://github.com/request/request#multipartrelated

  request({ method: 'POST', uri: webhook, json: { "content": req.body.msg, "username": "Potato" } });