AJAX Sql Update无法正常工作

时间:2015-12-30 23:18:11

标签: javascript php jquery ajax

我删除了我的代码,使这个问题更简单一些。

这是我在文件顶部的PHP ...

/u

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

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

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

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

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

如果我改变......

<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>

要...

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

它将数字234放在数据库233的正确列中,如我所愿。所以基本上该链接中的任何内容都没有正确传递到帖子,但我不知道如何解决它。任何帮助都会很棒。

2 个答案:

答案 0 :(得分:0)

您在js中的变量名是:

**field**: $(this).attr("db_field"),
**val**: $(this).attr("db_value")

所以在php文件中使用:

$_POST['field'];
$_POST['val'];

获取这两个变量的值。

答案 1 :(得分:0)

将您的数据变量更改为此

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

它不会发送空值