我创建了一个带有node.js和express.js的服务器但是如果我发送一个POST请求并尝试检查正文,它总是说正文是空的。这是我的代码:
app.js:
var express = require('express');
var app = express();
app.set('port', process.env.PORT || 61000);
require('./routes/routes.js')(app);
var server = app.listen(app.get('port'), function () {
var port = server.address().port;
console.log('Server runs on port %s', port);
});
路由/ routes.js:
module.exports = function(app) {
app.get('/', function(req, res) {
res.status(200).json({"response": "Hello!"});
});
app.post('/', function (req, res) {
if (req.body != null) {
res.status(200).json("Success");
}
res.status(200).json("Error");
});
};
如果我现在在www.hurl.it上发出POST请求并添加一个带有“Test”之类文本的正文,它会给我回复“Error”,但它应该给我回复“Success”,因为身体不是空的。
如果我将“body-parser”模块添加到我的应用程序中,如下所示:
var bodyParser = require('body-parser');
...
app.use(bodyParser.json());
即使我让身体空虚,它也给了我“成功”。如果我返回req.body,则响应为:{}如果我添加一个正文,则它也是{}
有人知道出了什么问题吗?
答案 0 :(得分:0)
我认为它总是遇到错误的情况。 试试这个:
library(shiny)
library(shinyjs)
ui <- tagList(
useShinyjs(),
navbarPage(
"shinyjs with navbarPage",
tabPanel("tab1",
actionLink(inputId = 'link',label = 'Fast Forward')
),
tabPanel("tab2",
actionButton("button", "Click me"),
textInput(inputId = "hello", label='',value = "Hello!")
)
)
)
server <- function(input, output, session) {
observeEvent(input$link, {
runjs('$("#link").click();')
})
observeEvent(input$button,{
toggle("hello")
})
}
shinyApp(ui, server)