更改时使用AJAX更新数据库表

时间:2018-07-23 15:35:13

标签: php jquery ajax

输入字段更改后,我正在尝试更新数据库列。 但是下面的代码却没有做到,并且感到困惑。

<script>
$("#addline1").change(function() {
                var itemVal = $("#addline1").val();
                var dataString = "companyid=" + companyid + "&addline1=" + itemVal;
                processChange(dataString);
                });
        function processChange(dataString){
                    $.ajax({
                                type: "POST",
                                url: "../inc/dataforms/test.php",
                                data: dataString,
                                complete: function(data) {
                                    var Resp = data.responseText;
                                    console.log(Resp);
                                    }
                    });
    };
</script>

companyid已在页面上的其他位置定义。 我已经尝试过变更,onchange ...

我的PHP代码是:

mysqli_query($dbc,"UPDATE `comp_companies`  SET `regoffice1` = '$_POST[addline1]' 
WHERE `company_id` = '$_POST[companyid]'");

说出意外的令牌(

    $("#addline1").change(function() {
        var itemVal = $.("#addline1").val();
        var dataString = "companyid=" + companyid + "&addline1=" + itemVal;
        processChange(dataString)
        });

1 个答案:

答案 0 :(得分:1)

我建议您使用对象而不是字符串...由于使用的方法是POST,因此要传递数据。

(假设已定义companyid ...)

<script>
$("#addline1").change(function() {
  var itemVal = $("#addline1").val();  // Remove the extra dot that was here

  // var dataString = "companyid=" + companyid + "&addline1=" + itemVal;
  // I suggest the following:
  var dataObj = {companyid:companyid, addline1:itemVal};

  processChange(dataObj);
});

function processChange(dataObj){

  $.ajax({
    type: "POST",
    url: "../inc/dataforms/test.php",
    data: dataObj,
    dataType: "json", // If you expect a json as a response
    complete: function(data) {
      var Resp = data.responseText;
      console.log(Resp);
    });
  });
});
</script>