Django用ajax进行post请求

 

post请求有两种,跨域和不跨域

1、不跨域

复制代码
# 不跨域的 view.py

def re_json(request): print(request.POST['name']) p1 = ProductModel.objects.all() data = [] for item in p1: data.append({ 'name':item.name, 'brief':item.brief, 'img_url':'/'+str(item.prodectImg), 'time':str(item.pub_date), }.copy()) ls = json.dumps(data,ensure_ascii=False) info = HttpResponse(ls) # 下面这两行设置夸域请求,跨域就是用这两行 # info['Access-Control-Allow-Origin'] = '*' # info['Access-Control-Allow-Headers'] = "Content-Type" return info
复制代码
复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>ajax请求</title>
</head>
<body>
    <div>八戒你瘦了</div>
    <button id="dj">获取数据</button>
    <script src="/static/js/jquery.min.js"></script>
    <script>
        $('#dj').click(function () {
        // 不跨域要携带csrf_token 过去。 info = { csrfmiddlewaretoken: '{{ csrf_token }}', // 为了防止csrf_token的拦截,所以必须带这个过去。 name:'老王' }; $.ajax({ url:'http://127.0.0.1:8000/re_json/', type:'post', data:info, success:function (res) { data = JSON.parse(res); console.log(data); }, }) }) </script> </body> </html>
原文地址:https://www.cnblogs.com/wwthuanyu/p/10071555.html