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

时间:2013-06-02 06:14:18

标签: javascript node.js express

我正在使用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 }

任何想法我可能做错了什么?

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

我建议您在将数据转换为json之前检查数据,以确定它是否已经是json。请参阅此answer以查看json。