相关疑难解决方法(0)

获取:POST json数据

我正在尝试使用fetch POST一个JSON对象.

根据我的理解,我需要将一个字符串化的对象附加到请求的主体,例如:

fetch("/echo/json/",
{
    headers: {
      'Accept': 'application/json',
      'Content-Type': 'application/json'
    },
    method: "POST",
    body: JSON.stringify({a: 1, b: 2})
})
.then(function(res){ console.log(res) })
.catch(function(res){ console.log(res) })
Run Code Online (Sandbox Code Playgroud)

当使用jsfiddle的json echo时,我希望看到我发送的对象({a: 1, b: 2}),但这不会发生 - chrome devtools甚至不会将JSON显示为请求的一部分,这意味着它没有被发送.

javascript json fetch-api

468
推荐指数
10
解决办法
55万
查看次数

req.body在帖子上空了

我的所有项目都突然发生了这种情况.

每当我使用express和body-parser在nodejs中发帖时req.body都是一个空对象.

var express    = require('express')
var bodyParser = require('body-parser')

var app = express()

// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded())

// parse application/json
app.use(bodyParser.json())

app.listen(2000);

app.post("/", function (req, res) {
  console.log(req.body) // populated!
  res.send(200, req.body);
});
Run Code Online (Sandbox Code Playgroud)

通过ajax和postman它总是空的.

但是通过卷曲

$ curl -H "Content-Type: application/json" -d '{"username":"xyz","password":"xyz"}' http://localhost:2000/
Run Code Online (Sandbox Code Playgroud)

它按预期工作.

我尝试手动设置Content-type : application/json前者,但我总是得到400 bad request

这让我发疯了.

我认为这是在身体解析器中更新的东西,但我降级了,但没有帮助.

任何帮助表示感谢,谢谢.

node.js express

223
推荐指数
12
解决办法
21万
查看次数

HTML 表单的默认编码类型是什么?

假设我有一个包含一些输入的表单:

<form action="demo_post_enctype.asp" method="post" >
  First name: <input type="text" name="fname"><br>
  Last name: <input type="text" name="lname"><br>
  <input type="submit" value="Submit">
</form>
Run Code Online (Sandbox Code Playgroud)

如果我提交此表单:浏览器使用哪种编码类型?

是否有明确定义的默认类型?
还是每个浏览器都选择自己的 enctype(当然是在三个允许的类型中)?

html forms enctype

4
推荐指数
1
解决办法
2855
查看次数

标签 统计

enctype ×1

express ×1

fetch-api ×1

forms ×1

html ×1

javascript ×1

json ×1

node.js ×1