所以我的删除功能有问题,它确实删除了它的意图,但不会去window.location。相反,我得到了错误
在/ api / personnel / delete /中的DoesNotExist 资源匹配查询不存在。
我想象的是因为它刚被删除了。我如何解决这个问题?
var deletepers = function(){
var persid = getUrlVars()["id"];
data={persid}
console.log(persid);
$.ajax({
type: "POST",
url: "/api/personnel/delete/",
data: JSON.stringify(data),
contentType: "application/json",
dataType: 'json',
success:function(response){
window.location.href = "/Personnel";
}
})
}
def delete_personnel(request):
# Try find the requested app
if request.method == "POST":
pers_id = request.POST.get('persid')
pers = Resource.objects.get(id=pers_id)
if not pers: return HttpResponseNotFound()
pers.delete()
return HttpResponse(content_type='application/json')
答案 0 :(得分:1)
您没有以您的视图所期望的格式传递数据。 JS中的{persid}
被解释为persid
,而不是哈希;所以在视图中,request.POST.get('persid')
是无。
而是使用实际的JS哈希:
data = { persid: persid }