首页 > 解决方案 > 邮递员显示的结果与发送的 ExpressJS 不同

问题描述

嗯,这是一个不寻常的问题,我不确定我应该在哪里放置 stackoverflow 的哪个站点,所以如果有人能告诉我,我很乐意在那个站点提问。

问题

所以,我正在开发一个 ExpressJS 后端并在邮递员中进行测试。以下代码是我感兴趣的。

response.status(200);
result.message = "Please Fill Registration Details";
result.data = {
    code: 010101
};
result.status = "Successful";

这是一个简单的代码,这里没有问题,但是当我签入邮递员时,输出是:

{
"message": "Please Fill Registration Details",
"data": {
    "code": 4161
},
"status": "Successful"
}

在此处输入图像描述

代码 010101 是如何更改为 4161 的?

我一开始以为邮递员是在考虑 010101 是二进制的并将其转换为十进制,但十进制值为 21,十六进制数为 15。

那么,这是怎么回事呢?有谁之前经历过这个吗 ?我仍然需要在生产和实际设备中检查这个 API。我会更新我的发现。

标签: node.jsexpresspostman

解决方案


它认为010101是一个八进制数,这就是 JavaScript 的工作原理。它认为它是八进制数的原因是它没有被引号包围。

下面是一个 JavaScript 示例:

console.log(010101);  //4161

因此,要修复您的代码,请将您的值括在引号中:

result.data = {
    code: "010101"
};

推荐阅读