如何正确发送和阅读发帖请求?

时间:2019-05-06 02:39:18

标签: javascript http express

注意:我的问题是关于服务器和客户端之间的连接。与特定格式的使用无关。此外,提议的重复项表达不清,给出的答案使用jquery,这是对我的无HTML客户端代码的不必要添加。

我正在尝试使用XMLHttprequest将一些文本从Web应用程序发送到我的快速服务器。我的计划是对文本运行解析器,然后将输出返回给用户。我可以从服务器返回“乒乓”消息。但是看来我不明白如何在后端解析我的请求。

我的前端看起来像这样:

<script type="text/javascript">
 const shuldBeAsync = true
 var req = new XMLHttpRequest()
 req.onload = () => {
  console.log(req.status,req.responseText)
 }
 var data = new FormData()
 data.append("massage","ping")
 req.open("POST","http://localhost:3000/",shuldBeAsync)           
 req.send(data);
</script>

和我的后端一样:

const express = require('express')
const app = express()
app.use(express.static('./'))
app.use(express.json())                                          
app.post('/', (req,res) => {
 console.log(req.body)
 res.send("pong")
})
app.listen(3000,() => console.log('listening on 3000'))

在浏览器上,它在控制台上记录了我的“ pong”,但在服务器上,我得到的只是空括号...

解决方案: 所以我的问题是我将数据作为FormData发送并希望将其作为JSON捕获。另外,我需要指定我的内容类型。因此,我将前端的最后几行更改为thees:

req.open("POST","http://localhost:3000/",shuldBeAsync)
req.setRequestHeader("Content-type","application/json");         
req.send(JSON.stringify({"message":"Ping"}));

它有效:)

0 个答案:

没有答案