gpt4 book ai didi

javascript - 为什么 json-parser 解析错误我的 json

转载 作者:行者123 更新时间:2023-12-03 02:46:00 25 4
gpt4 key购买 nike

我正在做一个应用程序,其中 Node.js 用于服务器端,Angular 用于前端部分。我在使用简单的 post 方法时遇到问题,问题是当我将 json 发送到服务器时,它会将其视为 json 键。我正在使用 body-parser,也许问题就在于此?这是我的代码:

Angular :

var request = $http({
method: "POST",
url: 'http://localhost:3000/register',
data: {
"username": "filip"
},
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
});

Node .js

var express = require("express");
var bodyParser = require("body-parser");
var morgan = require("morgan");
var app = express();
var config = require("./config");
var mongodb = require("mongodb")

app.use(bodyParser.urlencoded({
extended: true
}));
app.use(bodyParser.json());
app.use(morgan("dev"));

app.post("/register", function(req, res, next) {
res.setHeader('Access-Control-Allow-Origin', 'http://localhost:8080');

// Request methods you wish to allow
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');

// Request headers you wish to allow
res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');

// Set to true if you need the website to include cookies in the requests sent
// to the API (e.g. in case you use sessions)
res.setHeader('Access-Control-Allow-Credentials', true);
console.log(req.body);
});

这就是我在服务器上收到的请求:

{ '{"username":"filip"}': '' }

我刚刚开始学习node.js,但我一直坚持这个简单的事情,有人帮忙吗?

最佳答案

您正在使用 application/x-www-form-urlencoded 作为内容类型,这是除 JSON 之外的另一种 mime 类型。要发送 JSON,您可以使用

$http.post('http://localhost:3000/register', { "username": "filip" })

请注意,我跳过了在 header 中指定内容类型。如果您不指定其他内容,application/json 是 POST 的默认内容类型。

关于javascript - 为什么 json-parser 解析错误我的 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48087397/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com