我是Node.js和Ajax的初学者。我想创建一个判断按钮来判断从用户输入的值,无论用户是否使用过。但是我遇到了一个问题,当我使用knex SQL Builder从数据库中获取返回数据时,我想计算该值,发现返回数据为[{'count({Program_Codename
)':1}]。
如何获取仅值计数数字?
这是我的后端代码:
router.post('/',function(req,res){
console.log(req.body.Program_name);
db('program_detail').count('Program_Codename').where('Program_Codename',req.body.Program_name).asCallback(function(err,values){
if(err){
console.log(err);
}else{
console.log(values);
if(values > 0){
res.json({success:1});
//console.log(req.body.Program_name);
console.log("This Program_Codename has already been used.")
}else{
console.log("This Program_Codename can be used.")
}
}
db.destroy();
});
});
module.exports = router;
此外,我想将判断结果返回到前端网站,以使用ajax告诉用户结果,我该怎么办?
这是我的前端Ajax代码:
$(document).ready(function(){
$("#checkname_btn").click(function(){
console.log("test");
var Program_name = { Program_name : $(':input[name=Program_Codename]').val()};
$.ajax({
data: Program_name,
url: '/check',
dataType: 'json',
type:'post',
cache: false,
timeout: 5000,
success: function(data){
var data = $.parseJSON(data);
},
error: function(jqXHR, textStatus, errorThrown){
alert('error ' + textStatus + " " + errorThrown);
}
});
//$(':input[name=Program_Codename]').next().next().after('<div id = "id" align="center">'+message+'</div>');
//$(':input[name=Program_Codename]').focus(function(){
//$('#id').remove();
return false;
});
});
注释掉的代码是我想要的结果,但是我不知道该怎么做。我想在“判断”按钮下向用户实时反馈。
顺便说一下,我可以从前端传递值。
请帮助我...感谢您的支持。如果您需要更多信息,可以告诉我。
我的按钮代码:
<td class="td-edit">Program/Codename:</td>
<td class="td-edit">
<input class="form-control-edit" type="text" name="Program_Codename">
<br><button class="btn btn-primary" id=checkname_btn>Check Program/Codename</button>
</td>
答案 0 :(得分:1)
通过此代码获取计数:
var count = values[0]['count(Program_Codename)'];