【问题标题】:Django multiple jQuery Ajax html responsesDjango 多个 jQuery Ajax html 响应
【发布时间】:2022-01-14 00:42:00
【问题描述】:

我有一个这样的 jQuery ajax 调用来获取 html 响应并填充 html div

function loadProducts(url){
    $.ajax({
        type:"POST",
        url: url,
        data:{
            data1: xxx
        },
        dataType:"html",success:function(a){
            $('#div1').html(a);
        }
    })
}

python中的Django响应是这样的

def call_view(request):

   if request.method == "POST":
      return render(request, 'file1.html', {
            'val1': val1,
            'val2': val2
        })

我想像这样在 jQuery 响应中处理多个 html 块并填充多个 html div

我试过这个..

function loadProducts(url){
    $.ajax({
        type:"POST",
        url: url,
        data:{
            data1: xxx
        },
        dataType:"html",success:function(a){
            $('#div1').html(a.resp1);
            $('#div2').html(a.resp2);
        }
    })
}

还有这个

from django.shortcuts import render

def call_view(request):

    if request.method == "POST":
      return {
       'resp1': render(request, 'file1.html', {
            'val1': val1,
            'val2': val2
        }),

       'resp2': render(request, 'file2.html', {
            'val3': val3,
            'val4': val4
        })
     }

但不起作用 有什么建议吗?

【问题讨论】:

    标签: python jquery django ajax


    【解决方案1】:

    我解决了像这样在一个 html 响应中解析多个对象.. 但我不喜欢

    $.ajax({
            type:"POST",
            url:url,
            data:{
                ...
            },
            dataType:"html",success:function(a){
                $('#div1').html($($.parseHTML(a)).filter("#div1"));
                $('#div2').html($($.parseHTML(a)).filter("#div2"));
            }
        })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-06
      • 1970-01-01
      相关资源
      最近更新 更多