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>