【问题标题】:How to access fetched data in Ajax response using Django?如何使用 Django 在 Ajax 响应中访问获取的数据?
【发布时间】:2021-01-30 23:52:36
【问题描述】:

我正在尝试从视图函数访问数据到 ajax 响应。这里我在 Views.py 中获取数据,我想在 ajax 响应中访问该数据。我不知道该怎么做?
野兔是我的代码

在我的 Views.py 中

这是我的意见.py。我通过ajax调用这个函数。

def myfunction(request):
    if request.method=='POST':
        id=request.POST['id']
        result=MyModel.objects.filter(id=id) # in result variable i am getting all data like fname,,lname etc

这是我的 AJAX 调用

    $.ajax({
            url: '/myfunction',
            method: 'POST',
            data: {
                'id' : id,
                 csrfmiddlewaretoken:$('input[name=csrfmiddlewaretoken]').val()
            },
            success:function(result)
            {
                alert(result); // here i want to access values
            }
        });
  • 在我的 view.py 函数中,我在变量“结果”中获取所有数据。我想在我的 ajax 响应中访问 fname、lname 等所有值。 “结果”变量包含多个记录。如果有人能帮助我解决这个问题,我将不胜感激。

【问题讨论】:

    标签: django django-models django-views django-ajax-selects


    【解决方案1】:

    你的views.py

    from django.http import JsonResponse
    def myfunction(request):
        if request.method=='POST':
            id=request.POST['id']
            result=list(MyModel.objects.filter(id=id).values())
            return JsonResponse(result, safe=False)
    

    在你的 ajax 中:

        $.ajax({
                url: '/myfunction',
                method: 'POST',
                data: {
                    'id' : id,
                     csrfmiddlewaretoken:$('input[name=csrfmiddlewaretoken]').val()
                },
                success:function(result)
                {
                    console.log(result); <--- Here
                }
        });
    

    这里--> 根据您的响应值,您将能够访问。首先,你必须看看你的服务器是如何发送数据的

    参考:JsonResponse | values

    【讨论】:

      猜你喜欢
      • 2020-04-25
      • 2013-08-08
      • 1970-01-01
      • 2016-02-08
      • 2021-11-15
      • 1970-01-01
      • 1970-01-01
      • 2019-09-06
      • 1970-01-01
      相关资源
      最近更新 更多