Javascript 无法识别回调数据

Javascript 无法识别回调数据,javascript,jquery,python,json,Javascript,Jquery,Python,Json,每当您单击“删除”按钮时,我将尝试删除整行。这是我的jQuery命令: 更新:我已将单击功能更新为我的最终版本: $(document).on('click', '.delete-assignment',function () { console.log("click"); var data = { assignment_id: $(this).closest('tr').find('.assignment-id').html(), class_i

每当您单击“删除”按钮时,我将尝试删除整行。这是我的jQuery命令:

更新:我已将单击功能更新为我的最终版本:

$(document).on('click', '.delete-assignment',function () {
    console.log("click");
    var data = {
        assignment_id: $(this).closest('tr').find('.assignment-id').html(),
        class_id: $('#classId').val()
    }

    var row = $(this).closest('tr');

    deleteAssignment(data, function(returnData){
        var returnData = JSON.parse(returnData);

        if(returnData.status == "Success"){
            console.log("yes");
            row.hide();
        }
    });
});
当我单击delete时,它会成功触发deleteAssignment函数并返回一个{status:Success}回调。然而,当我返回data.status==成功时并没有被触发。如果我尝试jQuery.typereturnData,它会显示string。所以我实现了JSON.parse,它在JSON中的位置0处显示意外标记

这是我的html:

<tbody id="Homework">
    <tr>
        <td><a href="/class/assignment/view/51">Homework Test Title</a></td>
        <td>02/16/2017 - 10:00 AM</td>
        <td class="assignment-id">51</td>
        <td><button type="button" class="btn btn-danger delete-assignment">Delete</button></td>     
    </tr>
</tbody>

你有一个用户问题

回调函数中的变量this与click函数中的变量this不同

有几种方法可以解决此问题,以下是其中之一:

$('.delete-assignment').on('click', function () {

        var data = {
            assignment_id: $(this).closest('tr').find('.assignment-id').html(),
            class_id: $('#classId').val()
        }
        var that = this;

        deleteAssignment(data, function(returnData){
            console.log(returnData); 
            if(returnData.status == "Success"){
               print("yes");
                $(that).closest('tr').remove();
        }
    });
});
$('.delete-assignment').on('click', function () {

        var data = {
            assignment_id: $(this).closest('tr').find('.assignment-id').html(),
            class_id: $('#classId').val()
        }
        var that = this;

        deleteAssignment(data, function(returnData){
            console.log(returnData); 
            if(returnData.status == "Success"){
               print("yes");
                $(that).closest('tr').remove();
        }
    });
});