AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML)。
成都创新互联长期为数千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为余庆企业提供专业的网站设计、成都网站设计,余庆网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。
AJAX除了异步的特点外,还有一个就是:浏览器页面局部刷新;(这一特点给用户的感受是在不知不觉中完成请求和响应过程)
序号 | 类型 | 请求方式 |
---|---|---|
1 | 浏览器地址栏直接输入url | get请求 |
2 | a标签的href属性 | get请求 |
3 | form表单action属性 | get请求和post请求 |
4 | ajax | get请求和post请求 |
ps:作为后端人员,前期只需要学习jquery封装之后的版本就行(不需要学习原生的ajax,原生的复杂且项目中一般不用),所以在前端
页面使用ajax的时候需要先导入jquery!
jquery调用ajax的方法:
格式:$.ajax({});
参数:
type:请求的方式get、post(小写)
url:"" 请求的地址,不写默认为当前地址
async:是否异步,默认为true表示异步
data:发送到服务器的数据
dataType:'json'预期服务器返回的数据类型为json格式
contentType:设置请求头
success:function(date){}; data是形参名,请求成功时调用此函数
error:请求失败时调用此函数
小案例:
需求:页面上有三个input框,在前两个框中输入数字 点击按钮 朝后端发送ajax请求,后端计算出结果 再返回给前端动态展示的到第三个input框中(整个过程页面不准有刷新,也不能在前端计算)
html部分
+
=
后端部分
def index(request):
if request.method =='POST':
u1 = request.POST.get('u1') #接收前端传来的数据
u2 = request.POST.get('u2')
u3 = int(u1)+int(u2) # 将数据进行相加
return HttpResponse(u3) # 把结果返回给前面,注意这个用HttpResponse返回,如果是字典,则需要进行序列化
# return JsonResponse(dict) # 直接把字典序列化,前端也无需在反序列化了!
return render(request,'index.html') # 最后还需要返回原先的页面
详见:django中前后端传输数据的编码格式(contentType)