【问题标题】:Sending a post request with express使用 express 发送 post 请求
【发布时间】:2022-10-12 22:41:25
【问题描述】:

我正在尝试使用 ajax、cors 并将请求发布到 mysql-server。我正在尝试发布从 html 收到的颜色代码,但它似乎不起作用。

HTML 形式:

<form method="POST" action="http://localhost:3000/">
<label for="knapp"></label><br>
<input type="range" id="knapp" onchange="changecolor()">
<label for="submit"></label><br>
<input id="submit" value="Save" type="submit">

<label for="text"></label><br>
<input type="text" id="text" readonly>

<label for="colorcode"></label><br>
<input type="text" id="colorcode" readonly>
</form>

节点:

const express = require('express')
const app = express();
 const cors = require("cors")
 app.use(cors({
     origin: "*"
 }))

app.get("/", (req, res) => {
    console.log("get")
})

app.post("/", (req, res) => {
    var mysql = require('mysql');
var con = mysql.createConnection({
host: "secret",
user: "secret",
password: "secret",
port: "secret"
});
con.query(`insert into studocliu_se_db.Kalender values(` + 950 + `)`, (err, res) => {
return console.log(res)
 })
con.end()
res.end();
})

我知道 sql 连接正在工作,它是没有通过的 POST 操作。我收到了这个控制台消息以及下面的标题: https://i.postimg.cc/vTgW8wvs/Untitled4.png

请求的状态是“(失败)net::ERR”

我不知道我可能做错了什么。

【问题讨论】:

  • 鉴于您的 GET 路由是如何实现的,我的猜测是您没有结束 POST 请求。
  • @robertklep 请查看更新的代码。

标签: mysql node.js express post cors


【解决方案1】:

您能否尝试将res.end() 替换为res.send()https://expressjs.com/en/api.html#res.send

这样,您应该能够向客户端返回响应。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-21
    • 2015-11-26
    • 1970-01-01
    • 2013-09-24
    • 2013-10-06
    • 2015-02-28
    • 2017-02-13
    • 2021-11-30
    相关资源
    最近更新 更多