Express BodyParser响应错误的请求,状态为400

Express BodyParser responds with Bad Request, Status 400?

本文关键字:状态 请求 BodyParser 响应 错误 Express      更新时间:2023-09-26

我使用Node + Express

我使用以下函数从服务器获取一些json:

            $.ajax({
                url: url,
                contentType: "application/json",
                dataType: "json",
                type: "POST",
                data: JSON.stringify( data ),
                success: cb
            });

大约1/3的时间Express会返回一个错误:

{ [Bad Request: Bad Request] name: 'Bad Request', status: 400 }

知道我可能做错了什么吗?

听起来大约有1/3的时间,您的数据不是对象或数组(但可能是单个数字或字符串,或nullundefined)。

即使JSON.stringify将处理这些类型,它们不会产生有效的JSON text(因为它在RFC4627中被称为,它定义了JSON格式)。

我建议你在转换成json之前检查你的数据,因为它是否已经是json了。