Jquery Ajax:将整数数组发布到Django
我正在使用。我想让用户选择多行并删除它们。到目前为止,我已经让它工作了,所以它使用下面的代码删除了选择中的第一行 Ajax代码:Jquery Ajax:将整数数组发布到Django,jquery,ajax,django,Jquery,Ajax,Django,我正在使用。我想让用户选择多行并删除它们。到目前为止,我已经让它工作了,所以它使用下面的代码删除了选择中的第一行 Ajax代码: /* Add a click handler for the delete row */ $('#delete').click( function() { /* fnGetSelected returns an array of integers - each int is a db unique id */ var a
/* Add a click handler for the delete row */
$('#delete').click( function() {
/* fnGetSelected returns an array of integers - each int is a db unique id */
var anSelected = fnGetSelected( oTable );
delete_url = '/delete/' + anSelected[0];
$.ajax({
url: delete_url,
type: 'GET',
});
oTable.fnDeleteRow( anSelected[0] );
fnReloadAjax();
} );
Django代码:
@login_required
def delete(request, row_id):
item = get_object_or_404(Items, pk=row_id, user=request.user)
item.delete()
我如何更新它以将所有行ID传递给Django后端?我想我需要发布anSelected数组,但不确定如何执行此操作。处理这个整数数组需要什么Django代码?您需要使用
simplejson.loads
,例如,如果您将anSelected数组作为arr
传递,您将使用类似的方法
from django.utils import simplejson
array = simplejson.loads(request.POST['arr'])
try:
ModelName.objects.filter(pk__in=array).delete()
except:
return HttpResponse(simplejson.dumps({'ok': False}))
return HttpResponse(simplejson.dumps({'ok': True}))
在您的javascript中,可以使用以下内容:
$.post(
'/delete/',
{arr: anSelected},
function(data){
if(data.ok){
//Everything went smoothly
}else{
//Something failed, you can send extra info from django like the name of the exception thrown if you'd want and display it
}
}
);
你可以试试这样的东西:
$(function(){
$.post("{% url delete %}", {"ids[]": anSelected}, function(res){
if(res.ok){
// remove rows from your table, maybe :)
// oTable.fnDeleteRow(anSelected);
}else{
alert(res.errors);
}
});
})
在服务器上:
@ajax_request
def test(request):
ids = request.POST.getlist("ids[]")
try:
Items.objects.filter(id__in=ids).delete()
except:
return {"ok": False, "errors": "your error"}
return {"ok": True}
@ajax\u请求装饰器来自,您可以返回json响应。谢谢。我在{arr:anSelected}行上遇到了“invalid property id”错误。修改了我的代码,只是因为额外的大括号出现了语法错误:)这里的键是POST.getlist。有助于从表单生成的数组中获取DJANGO中的数据