Dev*_*Man -2 javascript php mysql ajax jquery
当用户单击或离开输入字段时,我尝试更新数据库字段.为此,我正在使用jquery $.post函数.这是我的jquery函数:
$('.ajadd').click(function(){ //.ajadd is the class of the input field
var dbfield=addtitle;
var fieldval='check';
var post_txt='additional.php?dbfield='+dbfield+'&fieldval='+fieldval;
$.post(post_txt,function(data){
alert(data);
});
});
Run Code Online (Sandbox Code Playgroud)
我在additional.php文件中处理请求,如下所示:
if(isset($_POST['fieldval'])){
$fieldname=$_POST['dbfield'];
$fieldvalue=$_POST['fieldval'];
$a=new mysqli('localhost','root','','mydbname');
$query="UPDATE mydbtable SET $fieldname=' $fieldvalue' WHERE id=1";
$res=$a->query($query);
echo 'update complete';
}
Run Code Online (Sandbox Code Playgroud)
我简化了代码,因此您可以解决问题所在.我知道我没有$_POST为SQL注入处理数组,这不是我现在想要的.我只是想知道为什么这段代码不起作用.
补充一点:我检查了数据库连接,它运行正常.我检查了if语句之外的查询,它正在运行.在我的php文件中,我回显了'update complete',在我的$ .post回调函数中,我提醒了返回数据,但它显示了一个空的消息框.这对我来说意味着php文件已成功执行但我不知道为什么我最终会得到一个空的回调函数messagebox.请帮忙.
$('.ajadd').change(function(){ //use change instead of click
var dbfield=addtitle;
var fieldval='check';
var post_txt='additional.php';
// you also need to pass data separately instead of query string
$.post(post_txt, { dbfield : dbfield , fieldval : fieldval} ,function(data){
alert(data);
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
141 次 |
| 最近记录: |