javascript - app.post 不工作! "Cannot GET/up"

标签 javascript node.js express post

我在 /index.jade 文件中有一个按钮,按下它就会执行

window.location.replace("https://upload-andsize.glitch.me/up") 函数。

它所做的唯一的事情就是将我从 / 重定向到 /up 到目前为止一切顺利。

如果我发出 get 请求,一切正常,但是!... 发布请求将不起作用

app.post("/up",function(req,res){
    res.send("hello-world")
})

 //will return Cannot GET /up

server code

var express = require('express'),
    app = express();


app.set("view engine","jade")
app.use(express.static('public'));
app.get("/",function(req,res,next){
  res.render(__dirname+"/views/index.jade",{})
  next()
})
app.post("/up",function(req,res){
  res.send("hi")
})

var listener = app.listen(process.env.PORT || 3000, function () {
  console.log('Your app is listening on port ' + listener.address().port);
});

jade code

html 
script(src= "client.js") 
title!=title
h1 upload a file and see its weight

input(type="file" id="myfile")

input(type="button" onClick="send()"  value="submit")

client code

function send(){
  window.location.replace("https://upload-andsize.glitch.me/up")
}

最佳答案

好吧,问题是缺乏对路由如何工作的理解

解决方案是我不发送post请求,而是发送get请求

这就是为什么我收到错误

将html更改为

form(action="/up" method="POST")
  input(type="file" id="myfile")
  input(type="submit"  value="submit")

一切都很顺利,希望它能在未来帮助其他人

关于javascript - app.post 不工作! "Cannot GET/up",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44823890/

相关文章:

javascript - 如何将带有节点坐标的路径转换为带有点的 <path> 标记

java - 流数据解决方案(Java、Python、socket.io、Node JS)

node.js - 撤销 Keycloak 访问 token

javascript - 解构赋值和变量交换

javascript - Node.js/express 解析数据并且仍然返回 [object Object] 作为响应并且一些数据丢失

javascript - react : Looping through an array within a state

javascript - 如何将 JSON 样式对象转换为 CSS 字符串?

Javascript - 如何停止缩放、多点触控输入攻击?

node.js - nodejs socketio 多个域(单独的io)

express - 为什么安装 Express Helm 后会显示 x-powered-by 标题?