带有 express not listening/catching webhooks 的 Nodejs
Nodejs with express not listening/catching webhooks
我正在尝试使用 Nodejs 捕获 json webhooks 并表达代码 运行s 很好,我可以 运行 npm start 但它不起作用。
这是网络服务器上即时 运行ning 的代码。知道我哪里出错了吗?
谢谢
var express = require('express');
app = express()
port = 3000;
app.use = (express.json());
app.use = (express.urlencoded({
extended: true
}))
app.post('/', function (req, res) {
var prod = req.body
console.log(req.body)
if (prod.total > 0){
for (var i = 0; i < prod.total; i++ ){
var sku = body.productos[i].codigo_var;
var stock = body.productos[i].stock;
var precio = body.productos[i].precios[0].precio;
var actualizar = {
sku,
stock,
precio
}
console.log(actualizar)
}
var server = app.listen(port, function () {
var host = server.address().address
var port = server.address().port
console.log('App en http://%s:%s', host, port)
});
您似乎缺少 POST 路线的一些右括号。
您还需要 运行 npm i body-parser
因为 express 不再内置该功能。
最后我注意到 body
变量没有在任何地方声明,所以我更新到 prod
有 req.body 数据。
我能够在本地获取以下代码 运行 并遍历我发送的 json 数据。
var express = require('express');
var bodyParser = require('body-parser')
app = express()
port = 3000;
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: true }))
// parse application/json
app.use(bodyParser.json())
app.post('/', function (req, res) {
var prod = req.body
if (prod.total > 0) {
for (var i = 0; i < prod.total; i++ ) {
var sku = prod.productos[i].codigo_var;
var stock = prod.productos[i].stock;
var precio = prod.productos[i].precios[0].precio;
var actualizar = {
sku,
stock,
precio,
}
console.log(actualizar)
return res.send(actualizar)
}
// Missing brackets
}
});
var server = app.listen(port, function () {
var host = server.address().address
var port = server.address().port
console.log('App en http://%s:%s', host, port)
});
我正在尝试使用 Nodejs 捕获 json webhooks 并表达代码 运行s 很好,我可以 运行 npm start 但它不起作用。 这是网络服务器上即时 运行ning 的代码。知道我哪里出错了吗?
谢谢
var express = require('express');
app = express()
port = 3000;
app.use = (express.json());
app.use = (express.urlencoded({
extended: true
}))
app.post('/', function (req, res) {
var prod = req.body
console.log(req.body)
if (prod.total > 0){
for (var i = 0; i < prod.total; i++ ){
var sku = body.productos[i].codigo_var;
var stock = body.productos[i].stock;
var precio = body.productos[i].precios[0].precio;
var actualizar = {
sku,
stock,
precio
}
console.log(actualizar)
}
var server = app.listen(port, function () {
var host = server.address().address
var port = server.address().port
console.log('App en http://%s:%s', host, port)
});
您似乎缺少 POST 路线的一些右括号。
您还需要 运行 npm i body-parser
因为 express 不再内置该功能。
最后我注意到 body
变量没有在任何地方声明,所以我更新到 prod
有 req.body 数据。
我能够在本地获取以下代码 运行 并遍历我发送的 json 数据。
var express = require('express');
var bodyParser = require('body-parser')
app = express()
port = 3000;
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: true }))
// parse application/json
app.use(bodyParser.json())
app.post('/', function (req, res) {
var prod = req.body
if (prod.total > 0) {
for (var i = 0; i < prod.total; i++ ) {
var sku = prod.productos[i].codigo_var;
var stock = prod.productos[i].stock;
var precio = prod.productos[i].precios[0].precio;
var actualizar = {
sku,
stock,
precio,
}
console.log(actualizar)
return res.send(actualizar)
}
// Missing brackets
}
});
var server = app.listen(port, function () {
var host = server.address().address
var port = server.address().port
console.log('App en http://%s:%s', host, port)
});