在我的无服务器应用程序中,我收到了这样的数据请求
{
"captcha": "asdf"
}
我无法从请求正文中提取此数据。这是我的代码:
module.exports.contact = (event, context, callback) => {
var body = querystring.parse(event.body);
var str = JSON.stringify(body);
var obj = JSON.parse(str); // I know this is horribly inefficient, just testing
if (!obj.hasOwnProperty('captcha'))
{
callback(null, {statusCode: 400, body: "No Captcha" + JSON.stringify(obj) + obj.captcha});
return;
}
我的无服务器终结点发送以下响应正文:-
No Captcha{"{\n\"captcha\": \"asdf\"\n}":""}undefined
我认为,因为我可以对主体进行字符串化,将其解析为obj,然后再次对其进行字符串化,并获得有效的JSON,所以我应该能够获得obj属性的验证码-但是我不能..?
答案 0 :(得分:1)
如果您不想将数据流解析为json,我建议您使用body-parser
,但是您可以自己使用多部分主体来实现
答案 1 :(得分:0)
最后,我通过删除querystring函数并执行var obj = JSON.parse(event.body);
好像我让自己感到困惑的是,我认为event.body实际上必须像它的名字一样被专门解析,