我精简了代码,使这个问题更简单了。

这是文件顶部的PHP。

if (isset($_POST['action'])) {
  $field = $_POST['db_field'];
  $value = $_POST['db_value'];

$fields=array('points'=>($value));
  $db->update('teams',$field,$fields);
}


然后我在同一页面上有这个脚本...

<script type="text/javascript">
     function performAjaxSubmission() {
       $.ajax({
         url: 'points3.php',
         method: 'POST',
         data: {
           action: 'save',
           field: $(this).attr("db_field"),
           val: $(this).attr("db_value")
         },
         success: function() {
           alert("success!");
         }
       });
       return false; // <--- important, prevents the link's href (hash in this example) from executing.
     }
     jQuery(document).ready(function() {
       $(".linkToClick").click(performAjaxSubmission);
     });
   </script>


然后我有2个用于测试目的的超级简单按钮...
点击这里1
点击这里2

目前,它基本上只是将null传递给数据库,并给我成功消息。

如果我改变...

  $field = $_POST['db_field'];
   $value = $_POST['db_value'];


至...

  $field = 233;
  $value = 234;


如我所愿,它将数字234放在数据库中项目233的适当列中。因此,基本上该链接中的任何内容都无法正确传递到帖子中,但是我不知道如何解决。任何帮助都是极好的。

最佳答案

将您的数据变量更改为此

data: {
           action: 'save',
           db_field: $(this).attr("db_field"),
           db_val: $(this).attr("db_value")
         },


而且它不会发送空值

关于javascript - AJAX SQL更新不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34538748/

10-12 02:03