我一直在努力使AJAX与Jquery一起使用。到目前为止,我最大的问题是我真的不知道如何弄清楚我在哪里犯错。我真的没有调试AJAX调用的好方法。
我正在尝试建立一个管理页面,其中我要执行的功能之一就是更改SQL数据库中设置的权限。我知道.click函数正在被触发,因此我将其范围缩小了,但是我不确定从AJAX调用到SQL查询的链在哪里出了问题。
我的.js代码:
$('#ChangePermission').click(function(){ $.ajax({ url: 'change_permission.php', type: 'POST', data: { 'user': document.GetElementById("user").value, 'perm': document.GetElementById("perm").value } }) })
我的.php处理程序:
<?php require_once(functions.php); echo $_POST["user"]; try{ $DBH = mysql_start(); $STH = $DBH->prepare("INSERT INTO people ( username, permissions ) values (?, ?)"); $STH->bindParam(1, $_POST["user"]); $STH->bindParam(2, $_POST["perm"]); $STH->execute(); } catch(PDOException $e){ echo $e->getMessage; }?>
我为其他SQL调用成功使用的PDO函数设置了mysql_start。
我已经研究和查找了几天的教程,但我一生都无法找出问题所在。有没有我可以用来确定错误发生在哪里的工具?我显然对这个特定问题的答案很感兴趣,但是我认为在这里更大的问题是我不知道从哪里开始调试。谢谢你的帮助!
通过添加如下所示的成功和错误回调,使您的JQuery调用更加健壮:
$('#ChangePermission').click(function() { $.ajax({ url: 'change_permission.php', type: 'POST', data: { 'user': document.GetElementById("user").value, 'perm': document.GetElementById("perm").value }, success: function(result) { //we got the response alert('Successfully called'); }, error: function(jqxhr, status, exception) { alert('Exception:', exception); } }) })