Ajax
- AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。
- AJAX = 异步 JavaScript和XML(标准通用标记语言的子集)。
- AJAX 是一种用于创建快速动态网页的技术。
- 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
- 传统的网页(不使用 AJAX)如果需要更新内容,必须重载整个网页页面。
目前最常用的就是通过jquery来使用ajax,jquery封装了ajax;
views:
from django.shortcuts import render,HttpResponse,render_to_response # Create your views here. def ajax(request): if request.method == 'POST': print request.POST return HttpResponse('ok') else: return render_to_response('app04/ajax.html')
ajax.html:
</head> <body> <input id="name" type="text"/> <input type="button" value="点击执行ajax" onclick="doajax()"/> <script src="/static/jquery/jquery-3.2.1.js"></script> <script type="text/javascript"> function doajax() { var temp = $('#name').val();/*获取id等于name的值*/ $.ajax({ url: '/app04/ajax/',/*请求要发给的URL*/ type:'POST', data:{dat:temp},/*要传递的数据*/ success:function (arg) {/*这个arg的值就是后台返回的值,ok*/ console.log(arg); console.log('success'); }, error:function () { console.log('failed'); }, }); } </script> </body>
将后台返回的字典给前台并输出:
views:
from django.shortcuts import render,HttpResponse,render_to_response
import json
# Create your views here.
def ajax(request):
if request.method == 'POST':
print request.POST
data = {'status':0,'msg':'请求成功','data':[11,22,33,44,55]}
return HttpResponse(json.dumps(data))#将字典生成一个字符串,此时返回的就是字符串
else:
return render_to_response('app04/ajax.html')
ajax.html
<body> <input id="name" type="text"/> <input type="button" value="点击执行ajax" onclick="doajax()"/> <script src="/static/jquery/jquery-3.2.1.js"></script> <script type="text/javascript"> function doajax() { var temp = $('#name').val();/*获取id等于name的值*/ $.ajax({ url: '/app04/ajax/',/*请求要发给的URL*/ type:'POST', data:{dat:temp},/*要传递的数据*/ success:function (arg) {/*这个arg的值就是后台返回的值,ok*/ var obj = jQuery.parseJSON(arg) console.log(obj.status); console.log(obj.data); console.log(obj.msg); console.log('success'); $('#name').val(obj.msg) }, error:function () { console.log('failed'); }, }); } </script> </body>