当前位置: 首页 > 面试题库 >

Ajax:将整数数组发布到Django

宫铭
2023-03-14
问题内容

我正在使用DataTables。我想让用户选择多个行并将其删除。到目前为止,我可以使用它,因此它使用下面的代码删除选择的第一行。

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 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
        }
    }
);


 类似资料:
  • 问题内容: 我的控制器: 我想通过AJAX将参数发布到控制器。传递并不是问题,但是我无法发布。 我的JavaScript代码: 我尝试了一个测试阵列,但没有成功。:(我也尝试设置,但也没有成功… 该贴到我的控制器总是空。 问题答案: 您可以定义一个视图模型: 然后调整您的控制器动作以将此视图模型作为参数: 最后调用它:

  • 问题内容: 我正在尝试将JSON数组发布到MVC控制器。但是,无论我尝试什么,都为0或null。 我有包含文本框的表。我需要所有这些文本框中的ID和值作为对象。 这是我的Javascript: 这是我的查看代码: 这是控制器即时通讯试图接收数据以: 我究竟做错了什么? 问题答案: 您的代码有很多问题。让我们从标记开始。您有一个表,该表的每一行中都包含隐藏字段。除了您已经对那些隐藏元素的属性进行了硬

  • 是这种格式,在后端,我只在请求中获得格式。我还需要发送“original_file_name”和“function_name”属性。当然,我可以将数组分成3个部分并分别追加它们,但是有没有办法将每个mediasData数组索引的所有there属性发送到formdata数组各自的索引中?

  • 问题内容: 是否可以将数据发布到JsonP?还是所有数据都必须作为GET请求传递到查询字符串中? 我有很多数据需要跨域发送到服务,并且太大,无法通过查询字符串发送 解决这个问题有哪些选择? 问题答案: 由于同一个原始策略的(相当明智的)限制,因此无法与另一个域上的服务进行异步。JSON- P之所以起作用,是因为允许您将标签插入DOM,并且它们可以指向任何地方。 当然,您可以使用常规形式的POST来

  • 问题内容: 我有由函数 .push 制成的数组。数组中的数据非常大。如何将此最佳方式发送到PHP脚本? script.php: 最好的方法是什么? 问题答案: 将您的数据字符串编码为JSON。 在你的PHP中 注意 通过POST发送数据时,它必须作为键值对。 从而 是错的。而是:

  • 问题内容: 我想发送一个用JavaScript构造的数组,其中包含多个select的选定值。有没有一种方法可以使用ajax将此数组发送到php脚本? 问题答案: 您可以使用XML或JSON发回到服务器。您的javascript将必须构造该帖子,在XML的情况下,则需要您在javascript中创建它。JSON不仅轻巧,而且更易于在javascript中制作。签出JSON- PHP 来解析JSON。