4

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

有什么想法我可能做错了吗?

4

2 回答 2

3

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

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

于 2013-06-02T06:24:00.293 回答
1

我建议您在将数据转换为 json 之前检查它是否已经是 json。请参阅此答案以检查 json。

于 2013-11-11T07:20:40.137 回答