接口连接1.1(10.8)

前端在提交按钮附近添加

{% csrf_token %}

然后在js文件中的ajax如下写:

data = {
        no: NO,
        name: Name,
        company: company,
        product: product,       
        salesman: salesman,
        area: area,
        };
        $.ajax({
                cache:false,
                type: "POST",
                url: '/contract/manage/',
                data: data,
                async: false,
                beforeSend: function(xhr, settings){
                xhr.setRequestHeader("X-CSRFToken", $("input[name='csrfmiddlewaretoken']").val());
                },
        success: function(data){
                console.log(data)
        },
});

然后在后端如下写:

import json
from django.http import JsonResponse
from django.core import serializersdef post(self, request):
#验证登录状态
if request.user.is_authenticated:
#获取多条件数据
No = request.POST.get('no', '')
name = request.POST.get('name', '')
company = request.POST.get('company', '')
product = request.POST.get('product', '')
salesman = request.POST.get('salesman', '')
area = request.POST.get('area', '')
search_dict = dict()
#一个个判断然后添加到字典中
if No:
search_dict['NO'] = No
if name:
search_dict['name'] = name
if company:
search_dict['company'] = company
if product:
search_dict['product'] = product
if salesman:
search_dict['search_dict'] = search_dict
if area:
search_dict['area'] = area#再用filter时使用多参数形式(加两个‘*’号)
contract_list = Contract.objects.filter(**search_dict)
#写json数据
responses = {}
try:​​responses["list"] = json.loads(serializers.serialize('json', contract_list))
responses['stauts'] = 'success'
responses['error_num'] = 0
except Exception as e:
responses['status'] = str(e)
responses['error_num'] = 1
return JsonResponse(responses)​​​​​else:return JsonResponse({"msg":"fail"})

这样就完成了从前端传输动态数据到后端获取查询数据并返回给前端json数据的整个过程

转载自:

Django2.0 从前端提交post请求到后端多条件查询并返回json数据-蒲公英云 (dandelioncloud.cn)

 

另一种:

(前端模拟后端接口返回数据的方法_清晨-阳光zx的博客-CSDN博客_前端模拟数据接口

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值