如何应用ajax来获取下拉列表中的数据?

时间:2017-05-03 17:57:37

标签: javascript jquery python ajax django

我使用django作为后端来查询我的结果。就像我有三个下拉列表并且在我的视图中我使用前两个下拉值将第三个下拉列表中的数据绑定。 我知道我必须应用ajax,但我对ajax调用完全不熟悉。通过我想要的数据在我的观点中出现的方式。

我的观点在这里: -

e.index=true

我的html到这里你可以看到我有三个下拉命名大学,userType和用户: -

def send_notification(request):
    try:
        university_all_list = Universities.objects.using("cms").all()
        master_user_types = MasterUserTypes.objects.using("cms").all()

        university = request.POST.getlist('universityId')
        masterUser = request.POST.getlist('masterUserId')
        users = Users.objects.using("cms").filter(userTypeId_id__in=masterUser, universityId_id__in=university)
        print university
        print masterUser
        print users
        result_for_user =[]
        for list in users:
            result_for_user = list
            print result_for_user.name

        return render(request, 'templates/push-notification/push_notification.html',
                      {'university_all_list':university_all_list,'master_user_types':master_user_types
                       ,'result_for_user':result_for_user})
    except Exception as e:
        print e
        raise Http404

我尝试将值值传递给上下文,但我通过ajax调用了解它可以实现......请原谅我的错误。 提前致谢

1 个答案:

答案 0 :(得分:1)

您是否尝试检索要在第三个选择中使用的某些数据? 你可以这样做:

$.ajax({
   url: 'The url to the view',
   type: 'GET', //Use POST if database modification would occur
   data: {
         'first_select': $('#first-select').val(),
         'second_select': $('#second-select').val()
   },
   success: function(data){
          //data contains whatever your view returns. If it's html, then add it to the select directly like $('#select').html(data); but if it's json response, Use it as you wish
   },
   error: function(xhr){
       alert(xhr.status + ": " + xhr.responseText);
   }
})

我建议您在关闭页面上的body标签之前添加它,而不是在页面内。 您可以在已继承的基本模板中定义一些{% block script %}{% endblock %},并覆盖该块以在其中添加脚本。