django(ajax基本语法)
urls
from django.conf.urls import url from django.contrib import admin from dbapp import views urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'ttt/',views.ttt), ]
views.py
from django.shortcuts import render,HttpResponse # Create your views here. def ttt(request): if request.method == 'POST': print(request.POST) i1 = request.POST.get('i1') i2 = request.POST.get('i2') i3 = int(i1) + int(i2) return HttpResponse(i3) # 前端没有配置dataType:'JSON'时 from django.http import JsonResponse # 如果返回一个字典,到前端是字符串类型。 # 可以用jsonesponse来返回,这样到前端回调函数自动反序列化,获取的是对象 # 直接args.来获取键值对 dic = {'a':1,'b':2} return JsonResponse(dic) return render(request,'ttt.html')
ttt.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.4.1/jquery.min.js"></script> <script src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js"></script> <link href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" rel="stylesheet"> <title>Title</title> </head> <body> <input type="text" id="d1">+ <input type="text" id="d2">= <input type="text" id="d3"> <p> <button id="btn">点我</button> </p> <script> // 给按钮绑定点击事件 $('#btn').click(function (){ // 朝后端发送ajax请求 $.ajax({ // 1、指定朝哪个后端发送ajax请求 url:'', //不写默认朝当前地址提交 // 2、请求方式 type:'post', //不写默认为get // 3、数据 data:{'i1':$('#d1').val(),'i2':$('#d2').val()}, // 当后端是以HttpResponse返回json格式的数据时,前端默认不会反序列化,有三种方法可以让前端获取到反序列化的结果 // 方法1、在前端配置dataType:'JSON'参数 // 方法2、在前端手动反序列化JSON.parse() // 方法3、在后端用JsonResponse返回数据 dataType:'JSON', // 4、回调函数,当后端返回结果的时候会自动触发,agrs接收后端的返回结果 success:function (args){ $('#d3').val(args) } }) }) </script> </body> </html>

浙公网安备 33010602011771号