javascript - 回调数据不被识别

标签 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_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();
        }
    });
});

当我点击删除时,成功触发deleteAssignment函数并返回{"status":"Success"}的回调。然而,当我 returnData.status == "Success"没有被触发。如果我​​尝试 jQuery.type(returnData),它会显示字符串。所以我实现了 JSON.parse,它在位置 0 处显示了 json 中的意外标记

这是我的 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>

我还想包括如何将数据作为回调传递回deleteAssignment(在javascript函数(deleteAssignment)中定义)

assignment = Assignments.objects.get(id=data['assignment_id'])
        assignment.delete()

        data = {}
        data['status'] = "Success"

        return HttpResponse(json.dumps(data), content_type="application/json")

最佳答案

您遇到了关闭问题。

回调函数中的变量 thisclick 函数中的变量 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();
        }
    });
});

关于javascript - 回调数据不被识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42380249/

相关文章:

javascript - javascript中的高阶函数是什么意思?

javascript - 每当我导航到另一条路线并返回时,Firestore 数据都会重复

javascript - JQuery/Javascript - 使用变量名称引用对象

jquery - Jeditable - 双击后突出显示所有文本

python - (1064, "You have an error in your SQL syntax; .. for the right syntax to use near ' %s, %s, %s, %s, %s )' at line 1")

python - 如何使用特定迭代器启动循环

javascript - jQuery AJAX php 'post' 返回实际的 PHP 代码

javascript - 动态重组 HTML 表格

javascript - 网站中的某些特定超链接不起作用

python - 使用 Python 查找多个单词并打印下一行