下面介绍一下XMLHttpRequest对象的5种状态: 0:初始化未完成状态,只是创建了XMLHttpRequest对象,还未调用open()方法; 1:请求已开始,open()方法已调用,但还没调用...send()方法; 2:请求发送完成状态,send()方法已调用; 3:开始读取服务器响应; 4:读取服务器响应结束。...我们可以通过XMLHttpRequest对象的status属性得到服务器的状态码。...在发送时可以指定请求体了:xmlHttp.send(“username=yuan&password=123”) JS实现ajax小结 创建XMLHttpRequest对象; 调用...的1、2、3、4,四种状态时被调用; XMLHttpRequest对象的5种状态,通常我们只关心4状态。
对扫码登录微信进行了分析。简单的用了一下Django将获取的信息映射到页面上。...(python3+pycharm) 主要过程就是: 1、获取二维码 2、扫码登录(有三种状态) 3、获取联系人信息(index页面获取的是个人信息、最近联系人信息、公众号) 4、获取所有的联系人 5、发送和接收消息...(接收消息打印到了后台) 创建Django项目、导入JQuery(发送AJax请求)、创建APP、创建模板(简单的弄一下,能合理显示得到的数据就好) url.py from django.contrib...# 接收消息 ] templates login.html(对应的是views中函数login和long_polling) 扫码前 扫码后、没有点击登录按钮,显示的你的头像 ?...') # 默认返回Ajax状态为408 ret = {'status': 408, 'data': None} base_login_url = 'https://login.wx.qq.com
第一个.then接收已解析的响应并将其转换为JSON。第二个.then允许我们访问第一个.then返回的数据,并允许我们使用它,然后可以处理这个数据,比如进行更新页面操作。...我们要发送回页面的数据必须在使用JsonResponse。 调用之前,请确保从django.http导入JsonResponse。...Django 3.1及更高版本 在即将发布的Django3.1版本(2020年8月)中,request.is_ajax()将被弃用。 这意味着如果我们要检查AJAX请求,则必须自己重新创建功能。...如果需要支持IE,请查看jQuery或XMLHttpRequest来发出AJAX请求。 AJAX请求应仅限于Django项目的一小部分。...如果发现自己在多个模板中使用它们来获取大量数据,请考虑使用Django Rest Framework创建API。
下面介绍一下XMLHttpRequest对象的5种状态: 0:初始化未完成状态,只是创建了XMLHttpRequest对象,还未调用open()方法; 1:请求已开始,open()方法已调用,但还没调用...send()方法; 2:请求发送完成状态,send()方法已调用; 3:开始读取服务器响应; 4:读取服务器响应结束。...我们可以通过XMLHttpRequest对象的status属性得到服务器的状态码。...XMLHttpRequest的1、2、3、4,四种状态时被调用; XMLHttpRequest对象的5种状态,通常我们只关心4状态。...我们可以通过javascript动态的创建script标签,这样我们就可以灵活调用远程服务了。
举例: 搜索引擎搜索框输入字符后下边显示可能要搜索的内容; 注册账号是显示昵称是否被使用 AJAX使用步骤 1.创建XMLHTTPRequest对象 2.open打开与服务器的连接 3.向服务器端发送请求...对象在使用的时候有5种状态,每个状态对应着一个值: 0:只是创建了XMLHttpRequest对象,还未调用open()方法; 1:open()方法已调用,但还没调用send()方法 2:send()方法已调用...3:开始读取服务器响应 4:读取服务器响应结束 XMLHttpRequest对象有一个onreadystatechange事件,可以监听这五个状态,它会在XMLHttpRequest对象的状态发生变化时被调用...,xmlHttp.status为服务器响应状态码 5.完整代码 的数据类型 processData data中会将自动转换为请求字符串格式,processData默认为true,若不想将数据进行转换,知识发送原数据,可以将其设置为false
在django.http模块中定义了HttpResponse对象的API。HttpRequest对象由Django框架自动创建,HttpResponse对象则由开发人员创建。...属性 content:表示返回的内容。 charset:表示response采用的编码字符集,默认为utf-8。 status_code:返回的HTTP响应状态码。...content-type:指定返回数据的的MIME类型,默认为’text/html’。 JsonResponse 和 AJAX 这里使用jQuery来发起ajax请求,所以需要引入jQuery文件。...Django中提供了HttpResponseRedirect对象实现重定向功能,这个类继承自HttpResponse,被定义在django.http模块中,返回的状态码为302。...django默认将Session信息存储在当前连接数据库的django_session数据表中。 注: Session工作流程由Django框架自动完成。 Session的特点: 以键值对方式存储。
下面介绍一下XMLHttpRequest对象的5种状态: 0:初始化未完成状态,只是创建了XMLHttpRequest对象,还未调用open()方法; 1:请求已开始,open()方法已调用,但还没调用...send()方法; 2:请求发送完成状态,send()方法已调用; 3:开始读取服务器响应; 4:读取服务器响应结束。...我们可以通过XMLHttpRequest对象的status属性得到服务器的状态码。...小结 创建XMLHttpRequest对象; 调用open()方法打开与服务器的连接; 调用send()方法发送请求; 为XMLHttpRequest对象指定onreadystatechange...return HttpResponse("%s('%s')"%(callbacks,json.dumps(dic))) 四、jQuery对JSONP的实现 getJSON jQuery框架也当然支持
一个端点可以被解释为对某种资源进行的某个动作。比如, POST: /articles 可能代表“创建一个新的 article”。...比如,如果一个 POST 类型的端点返回 201 Created,那么所有的 POST 端点都应返回同样的状态码。这样做的好处在于,调用者无需在意端点返回的状态码取决于某种特殊条件,也就形成了一致性。...巧用 202 Accepted 我发现 202 Accepted 在某些场合是 201 Created 的一个非常便捷的替代方案,这个状态码的含义是: 服务器已经接受了你的请求,但是到目前为止还未创建新的资源...我分享两种特别适合使用 202 Accepted 状态码的业务场景: 如果资源是经过位于将来一系列处理流程之后才创建的,比如当某项作业完成时 如果资源已经存在,但这是理想状态,因此不应该被识别为一个错误时...如果你更喜欢 Django 的话,使用 Django REST Framework就足够了,虽然框架不是那么直观(注:按我的理解应该是说不太容易上手,但是我不这么认为),但功能非常强大。
一、jQuery实现的ajax 首先说一下ajax的优缺点 优点: AJAX使用Javascript技术向服务器发送异步请求; AJAX无须刷新整个页面; 因为服务器响应内容不再是整个页面,而是页面中的局部...下面介绍一下XMLHttpRequest对象的5种状态: 0:初始化未完成状态,只是创建了XMLHttpRequest对象,还未调用open()方法; 1:请求已开始,open()方法已调用,但还没调用...send()方法; 2:请求发送完成状态,send()方法已调用; 3:开始读取服务器响应; 4:读取服务器响应结束。...我们可以通过XMLHttpRequest对象的status属性得到服务器的状态码。...小结 创建XMLHttpRequest对象; 调用open()方法打开与服务器的连接; 调用send()方法发送请求; 为XMLHttpRequest对象指定onreadystatechange
Ajax揭开了无刷新更新页面的新时代,并有代替系统的Web方式和通过隐藏的框架来进行异步提交的趋势,是Web开发应用的一个里程碑。...1 “发送”状态,已经准备好把一个请求发送到服务器。 2 “发送完成”状态,已经把一个请求发送到服务器端,但还没有响应。...3 “正在接收”状态,已经接收,还没有完全接收结束。 4 “已加载”状态,响应已经被完全接收。...(2)responseText和responseXML 请求返回的文本或XML内容 (3)status Http状态码 100——客户必须继续发出请求 101——客户要求服务器根据请求转换...的AJAX实现(一) jQuery对Ajax进行了封装。
下面是 djnago 单元测试框架的一些要点: django 的单元测试框架基于 Python 的 unittest 测试框架。...向接口发送请求。 检查响应的 HTTP 状态码、返回的数据等是否符合预期。...APITestCase,因此可以直接通过 self.client 来发送请求,其中 self.client 是 django-rest-framework 提供的 APIClient 的一个实例,专门用来发送...创建评论成功后返回的状态码应该是 201,接口返回的数据在 response.data 属性中,我们对接口返回的状态码和部分数据进行了断言,确保符合预期的结果。...这里由于评论数据不正确(关联的 id 为 999 的 post 不存在),因此预期返回的状态码是 400,同时数据库中不应该有创建的评论。
高一层次来看,动词映射到CRUD操作:GET表示读取,POST表示创建,PUT和PATCH表示更新,DELETE表示删除 响应状态由其状态码指定:1xx 表示信息, 2xx 表示成功, 3xx 表示重定向...这是最差的语义,相反,应该返回一个能准确描述错误类型的有意义HTTP状态码。尽管如此,你可能还在想:“但我按照您推荐的方式,在响应体中发送了错误详细信息,那么问题出在哪里呢?” 让我给你讲个故事吧。...例如,如果你选择某个POST端点返回201 Created,那么对于每个POST端点都应使用相同的HTTP状态码。为什么?因为消费者不应该担心在哪种情况下哪个方法在哪个端点上会返回哪个状态码。...有一天,当我将REST API集成到我的一个项目中时,每次调用都收到HTTP 500内部错误。...它与Flask一样简单易用,速度很快,非常适合在几分钟内构建REST API。 如果您更喜欢使用Django,那么首选就是Django REST框架。虽然它不如其他框架直观,但功能非常强大。
目录 models 字段补充 choices 参数/字段(用的很多) MTV与MVC模型 科普 Ajax 发送 GET、POST 请求的几种常见方式 用 Ajax 做一个小案例 准备工作 动手用 Ajax...、工作状态、婚否(可限范围内可以罗列出来的,都可用) app01/models.py from django.db import models # Create your models here...动手用 Ajax 实现效果 思路分析 我们是输入信息,然后点击 计算按钮,由 ajax 向后端发起请求,后端拿到请求然后返回数据给前端,前端把数据填到结果框中 可以看出,我们的突破口是 计算按钮...,放在 id 为 res 的 input 里 #} $.ajax({ {# 3.Jquery 的 ajax,需要下面几个参数,记得写上(Ajax 的括号内是一个大括号,然后再写的参数)...目前小型的 序列化模块 serializers 还有更好的,rest_framework 。。。
一、HTTP 状态码介绍HTTP响应状态码是用以表示网页服务器HTTP响应状态的3位数字代码。它由HTTP协议定义,用于描述请求 - 响应过程中的各种状态,帮助客户端(如浏览器)理解服务器的响应结果。...2xx: 成功状态码状态码状态码英文 描述 200 OK 请求成功,通常用于 GET 请求 201 Created...Reset Content告诉客户端重置发送了请求的文档 3xx: 重定向状态码状态码状态码英文 描述...定义 由HTTP协议定义的标准状态码(如200、401、404、500) 后端自定义的业务逻辑状态码(如 { code: 401, msg: "未登录" })触发方式 由服务器直接返回...此时需要用到业务状态码进行友好提示。如下图所示:代码实现效果:当账号或密码错误代码实现效果:当用户已停用代码实现效果:当登录成功点击查看完整代码您正在阅读的是《Django从入门到实战》专栏!
功能: 1.视图中的request对象不再是Django中 HttpRequest类的对象,而是由DRF框架封装成的 Request类的对象。...为了方便设置状态码,REST framewrok在 rest_framework.status模块中提供了常用状态码常量,我们直接使用即可。...status = status.HTTP_201_CREATED 上面的就可以指定201状态码了,我们直接写201的话,其他人容易看不懂,我们用常量让人易于理解。...2)创建一个扩展类,将抽取的代码进行封装。 3)在原视图函数中进行调用。 1.3.1扩展类5个详解 DRF框架提供了5个扩展类,封装了通用增删改查的流程。...,提供 create(request,*args,**kwargs)方法快速实现创建资源的视图,成功返回201状态码。
REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移” REST从资源的角度类审视整个网络,它将分布在网络中某个节点的资源通过...该方式中,通讯是由消息驱动,而不再是某个动作(方法调用)。这种 Web 服务也称为“面向消息的服务”。 网络应用程序,分为前端和后端两个部分。...API 不需要1xx状态码,下面介绍其他四类状态码的精确含义。 2.7.2 2xx状态码 200状态码表示操作成功,但是不同的方法可以返回更精确的状态码。... API 用不到301状态码(永久重定向)和302状态码(暂时重定向,307也是这个含义),因为它们可以由应用级别返回,浏览器会直接跳转,API 级别可以不考虑这两种情况。 ...,不用DRF来写个接口,看看效果 好,接下来我们创建一个django项目,models中创建一个表,添加一些数据,然后写一个数据接口来获取一下这些数据,返回json数据类型,按照我们CBV的模式来写
; jQuery.ajax() 执行一个异步的HTTP(ajax)的请求。 ... error事件返回的第一个参数XMLHttpRequest有一些有用的信息: XMLHttpRequest.readyState: 状态码 0 - (未初始化)...还没有调用send()方法 1 - (载入)已调用send()方法,正在发送请求 2 - (载入完成)send()方法执行完成,已经接收到全部响应内容 3 -...2xx-成功 这类状态代码表明服务器成功地接受了客户端请求。 200-确定。客户端请求已成功。 201-已创建。 202-已接受。...jQuery.param() 创建一个数组,一个普通的对象,或一个jQuery对象的序列化表现形似,用于URL查询字符串或Ajax请求。
对象所处的状态, XMLHttpRequest对象总是位于下列状态中的一个: |值|状态|描述 |-|-|-| |0 | UNSENT |代理被创建,但尚未调用 open() 方法。...可以发现,调用 reject有三种可能: 1.请求超时 2.请求失败 注意:当和服务器建立简介,并收到服务器的异常状态码如 404、500等并不能触发 onerror。...当网络故障时或请求被阻止时,才会标记为 reject,如跨域、 url不存在,网络异常等会触发 onerror。 所以使用fetch当接收到异常状态码都是会进入then而不是catch。...这表示,在一个 fetch请求结束之前可以调用 signal.abort将其终止。...HTTP 状态码时,从 fetch()返回的 Promise 不会被标记为 reject, 即使该 HTTP 响应的状态码是 404 或 500。
大家可以在了解了Django框架和DRF框架之后再来看这篇文章。否则会有点不知所云。...地址采用不同的请求方式执行不同的操作 GET(获取) POST(新增) PUT(修改) DELETE(删除) 3)过滤参数可以放在查询字符串中 4)响应数据返回&响应状态码 状态码 说明 200 获取或修改成功...1.将数据库数据序列化为前端所需要的格式,并返回 2.将前端发送的数据反序列化为模型类对象,并保存到数据库中 2.4DRF框架 2.4.1作用:大大提高RestAPI接口开发效率 2.5序列化器Serializer...返回新增的图书的json数据,状态码: 201 """ # 需求: 前端需要传递新增图书的信息(btitle, bpub_date),通过json传递...返回新增的图书的json数据,状态码: 201 # 将book对象转换成dict book_dict = { 'id': book.id,
一、 什么是RESTful REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移” REST从资源的角度类审视整个网络...zoo_id=ID 的含义是相同的。 7、状态码(status codes) 服务器向用户返回的状态码和提示信息,常见的有以下一些(方括号中是该状态码对应的HTTP动词)。...500 INTERNAL SERVER ERROR - [*]:服务器发生错误,用户将无法判断发出的请求是否成功。 状态码的完全列表参见这里。...8、错误处理(Error handling) 如果状态码是4xx,就应该向用户返回出错信息。一般来说,返回的信息中将error作为键名,出错信息作为键值即可。...下面我们来看看基于Django Rest Framework框架实现 五、基于Django Rest Framework框架实现 1、自定义认证规则 详见链接 class MyAuthtication