Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax将数据发布到PHP_Php_Jquery_Ajax - Fatal编程技术网

Ajax将数据发布到PHP

Ajax将数据发布到PHP,php,jquery,ajax,Php,Jquery,Ajax,我有以下代码: <?php $query=mysqli_query($mysqli, "SELECT assignment,a_id FROM assignments WHERE groupid='".$groupid."'"); $assignments = array(); // create empty assignments array while ($row=mysqli_fetch_array($query)){

我有以下代码:

  <?php
        $query=mysqli_query($mysqli, "SELECT assignment,a_id FROM assignments WHERE groupid='".$groupid."'");
        $assignments = array(); // create empty assignments array

        while ($row=mysqli_fetch_array($query)){
            echo'<td class="columnname" id="'.$row['a_id'].'" contenteditable="true">'.$row['assignment'].'</td>';
            $assignments[$row['a_id']] = $row['assignment']; // add assignment to array

        }
        ?>

      <script>
$('.columnname').keyup(function() {
    delay(function(){

        var text= $(this).text();
        var id= $(this).attr('id')
        $.ajax({
            type:"POST",
            url:"updateassignment.php",
            data:{text:text, id:id},
            success:function(data){
                console.log('success bro!');
            }
        });
    }, 500 );
});

var delay = (function(){
    var timer = 0;
    return function(callback, ms){
        clearTimeout (timer);
        timer = setTimeout(callback, ms);
    };
})();
</script>  
我找到了答案

这是因为我在delay函数中定义了ajax,所以它不会引用columnname。解决这个问题的方法是在delay函数之外定义$(this)

<?php
include_once("config.php");

if (isset($_POST['id']) && isset($_POST['text'])) {

    $id=$_POST['id'];
    $text=$_POST['text'];

    $query=mysqli_query($mysqli, "UPDATE assignments SET assignment='$text' WHERE a_id='$id'")or die(mysqli_error($mysqli));


}


?>