Javascript 使用ajax和jquery进行故障排除
我有一个从数据库加载的表,我希望能够单击并编辑该行,并让它更新数据库 目前它不工作,我不知道为什么。有什么方法可以解决这个问题?如何判断ajax是否正在运行?我不熟悉jquery和ajax,因此我不熟悉任何可能有用的调试技术 以下是迄今为止我掌握的相关代码:Javascript 使用ajax和jquery进行故障排除,javascript,php,jquery,ajax,debugging,Javascript,Php,Jquery,Ajax,Debugging,我有一个从数据库加载的表,我希望能够单击并编辑该行,并让它更新数据库 目前它不工作,我不知道为什么。有什么方法可以解决这个问题?如何判断ajax是否正在运行?我不熟悉jquery和ajax,因此我不熟悉任何可能有用的调试技术 以下是迄今为止我掌握的相关代码: <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
$(".edit_tr").click(function()
{
var ID=$(this).attr('id');
$("#fact_"+ID).hide();
$("#source_"+ID).hide();
$("#upvotes_"+ID).hide();
$("#downvotes_"+ID).hide();
$("#fact_input_"+ID).show();
$("#source_input_"+ID).show();
$("#upvotes_input_"+ID).show();
$("#downvotes_input_"+ID).show();
}).change(function()
{
var ID=$(this).attr('id');
var fact=$("#fact_input_"+ID).val();
var source=$("#source_input_"+ID).val();
var upvotes=$("#upvotes_input_"+ID).val();
var downvotes=$("#downvotes_input_"+ID).val();
var dataString = 'id='+ ID +'&fact='+fact+'&source='+source+'&upvotes='+upvotes+'&downvotes='+downvotes;
//var dataString = "'{'id':'"+ ID +"','fact':'"+fact+"','source':'"+source+"','upvotes':'"+upvotes+"','downvotes':'"+downvotes+"'}";
if(fact.length>0 && upvotes.length>0 && downvotes.length>0)
{
$.ajax({
type: "POST",
url: "table_edit_ajax.php",
data: dataString,
cache: false,
success: function(html)
{
alert("Success");
$("#fact_"+ID).html(fact);
$("#source_"+ID).html(source);
$("#upvotes_"+ID).html(upvotes);
$("#downvotes_"+ID).html(downvotes);
}
});
}
else
{alert('Enter something.');}
});
// Edit input box click action
$(".editbox123").mouseup(function()
{return false});
// Outside click action
$(document).mouseup(function(){
$(".editbox123").hide();
$(".text").show();
});
});
</script>
$(文档).ready(函数()
{
$(“.edit_tr”)。单击(函数()
{
var ID=$(this.attr('ID');
$(“#事实”+ID).hide();
$(“#源#”+ID).hide();
$(“#upvoces"+ID).hide();
$(“#下票数"+ID).hide();
$(“#事实#输入#”+ID).show();
$(“#源#输入#”+ID).show();
$(“#UPU输入#”+ID).show();
$(“#下票数#输入#”+ID).show();
}).change(函数()
{
var ID=$(this.attr('ID');
var fact=$(“#fact_input_uu”+ID).val();
var source=$(“#source_uinput_u”+ID).val();
var-upvoces=$(“#upvoces_-input”+ID).val();
var DOWNDOVERS=$(“#DOWNDOVERS_input_u“+ID).val();
var dataString='id='+id+'&fact='+fact+'&source='+source+'&upvoces='+upvoces+'&downvoces='+downvoces;
//var dataString=“{'id':'“+id+”,'fact':'“+fact+”,'source':'“+source+”,'upvoces':'“+upvoces+”,'downvoces':'“+downvoces+”}”;
如果(事实长度>0&&UpVoces.length>0&&DownVoces.length>0)
{
$.ajax({
类型:“POST”,
url:“table_edit_ajax.php”,
数据:dataString,
cache:false,
成功:函数(html)
{
警惕(“成功”);
$(“#事实"+ID).html(事实);
$(#source_u3;“+ID).html(source);
$(“#upvoates"+ID).html(upvoates);
$(“#否决票"+ID).html(否决票);
}
});
}
其他的
{alert('输入某物');}
});
//编辑输入框单击操作
$(“.editbox123”).mouseup(函数()
{return false});
//外部单击操作
$(文档).mouseup(函数(){
$(“.editbox123”).hide();
$(“.text”).show();
});
});
表_edit_ajax.php是:
<?php
$con=mysqli_connect("XXXXXX","XXXXXX","XXXXXX","XXXXXX");
if (mysqli_connect_errno())
{echo "Failed to connect to MySQL: " . mysqli_connect_error();}
if($_POST['id'])
{
$id=mysqli_real_escape_string($_POST['id']);
$fact=mysqli_real_escape_string($_POST['fact']);
$source=mysqli_real_escape_string($_POST['source']);
$upvotes=mysqli_real_escape_string($_POST['upvotes']);
$downvotes=mysqli_real_escape_string($_POST['downvotes']);
$sql="UPDATE `FACTS` SET `fact_fact`='" .$fact . "', `fact_source`='" . $source . "', `fact_upvote_ctr`='" . $upvotes . "', `fact_downvote_ctr`='" . $downvotes . "' WHERE `fact_id`='" . $id . "';";
mysqli_query($con, $sql);
}
?>
按F-12。打开调试器。请看网络面板。谢谢,这实际上非常有用