我在node.js和Express v4.0上运行服务器
我正在使用请求library 未捕获的SyntaxError:JSON输入的意外结束 然后从服务器回复响应我得到响应但没有最后一个符号("}")所以当我尝试解析JSON时它会抛出错误。 问题是,如果我使用Chrome的xmlhttprequest执行相同的请求,它可以使用相同的标题和相同的身体
请求参数:
request({
method:"POST",
jar:true,
url:host+"/api/location",
form:{
longitude:elem.longitude,
latitude:elem.latitude
},
followAllRedirects:true
},(err,res,body)=>{
logger.log(body);
body = JSON.parse(body);
assert(!body.success);
assert(body.longitude != elem.longitude && body.latitude != elem.latitude);
done();
});
响应是在快递中回复错误的代码:
res.send(JSON.stringify(({
error:"Unknown",
errorCode:errorCode,
success:false,
"-_-":"_-_"
})));
最后一个字段是尝试发送另一个字段并检查其他字段是否格式错误。并且它没有变形,但仍然是最后的符号没有被收回。
我也尝试使用res.json()与相同的身体但没有成功。同样的结果。
我能做什么?无论如何要找到问题在哪里?
答案 0 :(得分:0)
您不需要对JSON进行字符串化并解析结果。您应该能够将JSON作为响应发送,并且请求回调中的“body”应该包含响应中的JSON。
答案 1 :(得分:0)
我修好了。
由于某些原因,服务器端出现错误。
res.json()。end()使用了两次。所以身体已经发送,我试图添加其他东西。这是奇怪的行为