Node.js api返回不正确的布尔值
我有一个简单的API,它返回项目信息,其中一个属性是布尔值。我的服务器端返回一个Node.js api返回不正确的布尔值,node.js,api,boolean,Node.js,Api,Boolean,我有一个简单的API,它返回项目信息,其中一个属性是布尔值。我的服务器端返回一个false布尔值,但由于某种原因,当它在我的客户端打印出来时,它是true: api.get('/api/project/:id', function(req, res) { knex('projects').where({ project_code: req.params.id }).then(function(data) { console
false
布尔值,但由于某种原因,当它在我的客户端打印出来时,它是true
:
api.get('/api/project/:id', function(req, res) {
knex('projects').where({
project_code: req.params.id
}).then(function(data) {
console.log(data[0].restricted_access) //prints out FALSE
res.send(data);
}).catch(function(error) {
console.log('error: ' + error);
res.sendStatus(500);
});
});
我的API调用:
$.ajax({
type: "GET",
url: "/api/project/" + project_code,
success: function(data, status) {
console.log(data[0].restricted_access) //prints out TRUE
},
error: function(a, b,c ) {
console.log(a);
console.log(b);
console.log(c);
}
});
示例项目对象:
[ { id: 14,
project_code: 'abc123',
restricted_access: false
} ]
有人能帮忙吗
提前谢谢 我们只需要找出它在哪一点断裂:
console.log(data[0].restricted_access)
此返回为false,因此您的书架对象是好的。让我们测试前端上任何类型的http侦听器是否存在问题:
res.send({restricted_access: false})
如果前端正确地检索到false,那么在序列化bookshelf对象时会发生此更改
最后,让我们试试:
console.log(data[0].toJSON())
调查它是真是假。如果为true,则搜索代码以找出重写serialize方法的位置:)
如果这也不能解决你的问题,那么我只能祝你好运了我们只需要找出它在哪一点断裂:
console.log(data[0].restricted_access)
此返回为false,因此您的书架对象是好的。让我们测试前端上任何类型的http侦听器是否存在问题:
res.send({restricted_access: false})
如果前端正确地检索到false,那么在序列化bookshelf对象时会发生此更改
最后,让我们试试:
console.log(data[0].toJSON())
调查它是真是假。如果为true,则搜索代码以找出重写serialize方法的位置:)
如果这也不能解决您的问题,那么我只能祝您好运当您只执行
res.send({restricted\u access:false})
时,它是否也会神奇地改变呢?不,它实际上返回false…如果执行console.log(数据[0].toJSON())
。如果您重写了serialize方法,这可能就是原因,当您只执行res.send({restricted\u access:false})
时,它也会发生神奇的变化。不,这实际上返回false…执行console.log(数据[0].toJSON())
时如何。如果重写了serialize方法,这可能是原因