欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

django的ajax_get请求

发布时间:2024/1/23 编程问答 27 豆豆
生活随笔 收集整理的这篇文章主要介绍了 django的ajax_get请求 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

1、ajax
Ajax 介绍:AsynchronousJavascript and XML(异步的JavaScript和xml)。
普通请求,会携带整个页面提交,最明显的特征是刷新页面,并且请求可能阻塞整个服务。这样导致:
请求内容和响应内容冗余,
用户体验特别差。
基于以上的问题,后来出现了ajax请求。
1、ajax可以发起局部请求,页面整体可以不刷新,只是页面的局部刷新。
2、Ajax可以发起异步请求,请求的过程当中不会阻塞web正常操作和访问。
Ajax的兴起得益于Google公司的推广,Google公司在本公司大量的项目当中使用了ajax。这件事儿让微软公司感觉很尴尬,在1997年,微软公司就发明了ajax核心技术,1999年微软的ie5浏览器就开始兼容ajax对象(xmlhttpRequest),微软公司在后来就将ajax技术搁置了。
Ajax需要js语法进行编写,原生js的ajax比较复杂,因为各种浏览器对ajax对象的兼容是不一样的,使用js写ajax,首先要完成的是各种浏览器的ajax实例创建。比较繁复,所有我们通常用jq封装过的ajax。
Ajax get请求
需要一个页面,但是需要两个视图。
第一个视图只是负责生产ajax请求的页面:
1、视图文件

from django.http import JsonResponse#json+httpresponse def ajax_get_data(request):result={"status":"error","content":""}#初始化一个返回结果的格式username=request.GET.get('username')#获取ajax_get请求过来的usernameprint(username)if username:#用户名不为空user=LoginUser.objects.filter(username=username).first()#查询数据库有没有和新输入的用户名一样的用户名print(user)if user:#如果有1结果,证明用户名已经被使用result["content"]="用户名重复"else:#如果没有结果,证明用户名没有被使用,可以使用result["status"]="success"result["content"]="用户名可以使用"else:#如果用户名可以为空result["content"]="用户名不可以为空"return JsonResponse(result)

2、静态页面 ajax_get.html

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title><script src="/static/js/jquery.min.js"></script> </head> <body> <input id="username" type="text"> <button id="valid" type="button">效验</button> <span id="tishi" style="color:red;"></span> <script>$("#valid").click(function(){var username=$("#username").val();//获取输入的用户名var url="/agd/?username="+username;//拼接url$.ajax(//发起ajax请求,是 jq ajax的固定格式{ //ajax配置项必须在一个对象(字典)当中url:url,//请求的路由type:"get",//请求的类型success:function (data) {//请求成功的数据var content=data.content;$("#tishi").text(content)},error:function (error) {//请求失败的数据console.log(error)}})}) </script> </body> </html>

3、路由配置

path('ag/',ajax_get), path('agd/',ajax_get_data),

总结

以上是生活随笔为你收集整理的django的ajax_get请求的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。