gpt4 book ai didi

javascript - 回调数据不被识别

转载 作者:行者123 更新时间:2023-12-03 04:57:21 27 4
gpt4 key购买 nike

每当您单击“删除”按钮时,我都会尝试删除整行。这是我的 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com