Django->Ajax 传输参数和接受参数方式

本文介绍了Django中使用Ajax进行GET和POST请求的方式。对于GET请求,视图函数通过解析参数并以JSON响应。POST请求需使用@csrf_exempt注解以绕过CSRF检查。返回JSON数据可以使用HttpResponse或JsonResponse。对于POST不回避CSRF检查的处理方法,需要进一步探讨。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.GET 方式

$.ajax({
url:'/hello/getTest',
type:'GET',
data:{'a':3333,'b':444},
success:function(data){
alert(data.message);
}
})

views->参数解析和用数据字典的方式返回json 数据(跨域名请求数据,则使用 jsonp字符串)

```
def getTest(request):
data = request.GET
print(data)
a = data.get('a')
b = data.get('b')
response_data = {}
response_data['result'] = 's'
response_data['message'] = a+b
return HttpResponse(json.dumps(response_data), content_type="application/json")
```

2.Post 方式

     function postTest() {
        $.ajax({
            url:'/hello/postTest',
            type:'POST',
            data:{'a':3333,'b':444},
            success:function(data){
                alert(data.message);
            }
        })
    }

views-> 引入from django.views.decorators.csrf import csrf_exempt,并且增加注解@csrf_exempt,目的是避开CSRF检查

    @csrf_exempt
    def postTest(request):
        data = request.POST
        print(data)
        a = data.get('a')
        b = data.get('b')
        response_data = {}
        response_data['result'] = 's'
        response_data['message'] = a+b
        return JsonResponse(response_data)

注意点:

  1. post 方式有避开CSRF检查,具体不回避CSRF检查的方式需要再研究
  2. 返回Json的方式有两种

HttpResponse(json.dumps(response_data),content_type=”application/json”)
JsonResponse(response_data)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值