ajax返回304,正确的方法来处理304未在jQuery ajax中修改
从jQuery 1.5开始,根据XMLHTTPRequest的W3C规范,ajax方法现在可以通过调用success()处理程序正确处理304 Not Modified响应.这允许您的应用程序将请求视为成功,即使服务器实际上没有返回任何数据(因为您已经缓存了最新数据).
对于正常(未缓存)的GET请求,使用以下args调用成功处理程序:
data:{来自服务器的数据}
状态:好的
jqXHR:
状态:200
statusText:好的
responseText:{来自服务器的数据}
对于缓存的GET请求,使用以下args调用成功处理程序:
数据:未定义
状态:未修改
jqXHR:
状态:304
statusText:notmodified
responseText:{来自缓存的数据}
(至少,这是在IOS 4.2中返回的方式,对于通过清单文件使用应用程序缓存的Web应用程序.我认为这对于大多数平台/浏览器上的常规浏览器缓存是一致的).
您可以看到,如果请求为200 OK,则仅填充"data"参数; 其中jqXHR.responseText总是填充数据,无论该数据是来自服务器(200 OK)还是来自缓存(304 Not Modified).
鉴于此,在大多数GET请求中,您的成功处理程序将要对您获得的数据执行某些操作,而不管它来自哪里,对于您的成功代码来说,最好总是使用jqXHR.responseText,而不是做这样的事情:
if ("notmodified" === status) {
// do something with jqXHR.responseText
} else {
// do something with data
}
或者是否有一种情况,jqXHR.responseText 不会在成功处理程序中填充,但数据arg 会?
我必须通过我的代码库并更改所有成功处理程序(以前我在jQuery 1.4.2上,它总是返回数据,甚至从缓存中返回); 所以我只是想确保我以正确的方式处理它.(不要想达到目的,然后意识到我应该以另一种方式做到这一点).
ajax返回304,正确的方法来处理304未在jQuery ajax中修改相关推荐
- 不同服务器怎么响应ajax,如何从服务器获得响应而无需刷新和使用JQuery/AJAX?
是否有任何"正确"的方式来获得服务器的响应,而不使用JQuery/AJAX,当然没有刷新页面? server.js:如何从服务器获得响应而无需刷新和使用JQuery/AJAX? v ...
- ajax加载vue数据,详解使用Vue.Js结合Jquery Ajax加载数据的两种方式
整理文档,搜刮出一个使用vue.js结合jquery ajax加载数据的两种方式的代码,稍微整理精简一下做下分享. 废话不多说,直接上代码 html代码 demo {{message }} 测试jqu ...
- ajax参数xhrfields,使用xhrFields可以将进度功能添加到jQuery.ajax()中吗?
简短的回答: 不,你不能这样做,你想用什么xhrFields. 龙答: 有一个XmlHttpRequest对象两份进度事件: 响应研究的进展(XmlHttpRequest.onprogress) 这是 ...
- ajax可以返回什么类型数据,Ajax返回数据类型
MVC中,如果从controller返回的不是一个html,而是一个文本,使用AJAX中如何获取? 后台代码: public ActionResult UploadPicture() { return ...
- Ajax叠加(Ajax返回数据用Ajax发出)
最近在做人事管理系统的一个签到功能,首先是把部门当做参数,把参数用Ajax发送到数据库进行查询,然后以表格形式动态生成员工信息到返回页面的Div里,表格最后的一列是签到按钮,这时我想用JQuery继续 ...
- php ajax返回值会打印出来,ajax返回值有php字符
jquery插件 - 表单插件 Jquery Form Plugin是jquery最重要的插件之一,它利用AJAX技术在不引起页面刷新的情况下POST表单.主要有两个方法:ajaxform和ajaxs ...
- java ajax 返回 乱码,java ajax 返回 乱码
java ajax 返回 乱码 [2021-01-31 23:12:50] 简介: 解决java的ajax提交返回值中文乱码的方法:1.在RequestMapping的并发配置中加代码[produc ...
- ajax 怎么input赋值,jQuery ajax请求返回list数据动态生成input标签,并把list数据赋值到input标签...
jQuery ajax请求返回list数据动态生成input标签,并把list数据赋值到input标签 发布于 2016-11-25 16:26:40 | 111 次阅读 | 评论: 0 | 来源: ...
- ajax调用asp.net,jQuery.ajax()调用asp.net后台方法(非常重要)
http://www.cnblogs.com/zxhoo/archive/2011/01/30/1947752.html 用JQuery的$.ajax()可以很方便的调用asp.net的后台方法. 先 ...
最新文章
- 技术驰援抗疫一线, Python 线上峰会免费学!
- Winform开发框架之通用人员信息管理实现代码介绍
- 打印 指定目录下和子目录下的的所有.java文件的路径. (使用FileFilter过滤器)
- python 利用pyttsx3文字转语音
- centos 安装配置ftp服务器
- Elasticsearch: too many open files
- Text段、Data段和BSS段
- 比较全的 Java8 9 lambda 应用
- 列表的pop()和路径拼接问题
- NumSharp  - Numerical .NET
- 背景图片的位置(HTML、CSS)
- EP100伺服电机驱动全套资料,STM32平台FOC控制
- 计算机毕设周记20篇,电子与计算机毕业设计周记.doc
- 在Postfix里给邮箱定虚拟别名
- IntelliJ inspection gives “Cannot resolve symbol“ but still compiles code
- 高通FastCV简介
- 【DeeplabV3+ get_miou_png】DeeplabV3+获取数据集预测结果灰度图
- 输入一个字符,小写字母转大写,大写字母转小写,数字则输出为自身
- RCP Editor 常见错误处理方法
- 最详细的***教程 下