【发布时间】:2026-01-14 10:00:02
【问题描述】:
我想做一个判断按钮来判断用户输入的值是否被用户使用。但是我遇到了一些问题,我想在使用 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>
【问题讨论】:
标签: javascript jquery node.js ajax express