ajax个人学习笔记
1. function createXHR(){
if(typeof XMLHttpRequest != 'undefined'){
return new XMLHttpRequest();
}else if(typeof ActiveXObject != 'undefined'){
var version = ['MSXML2.XMLHttp.6.0',
'MSXML2.XMLHttp.3.0',
'MSXML2.XMLHttp'
];
for(var i=0;i<version.length;i++){
try{
return ActiveXObject(version[i]);
}catch(e){
}
}
}else{
throw new Error('你的系统或浏览器不支持XHR');
}
}
2.IE浏览器第一次向服务器端请求,获取最新数据,其后默认获取的是缓存数据,而不是最新的数据,可以使用js中的随机字符串处理。
3.ajax异步(true)过程中需要readyState=4值的判定
4.xhr.getAllResponseHeaders();xhr.getResponseHeader();xhr.setRequestHeader();xhr.setRequestHeader('Content-Type','application/x-www-form-urlencode');模拟表单提交.
5.ajax自定义封装:
function ajax(obj){
var xhr = createXHR();
obj.url = obj.url + '?rand=' + Math.random();
obj.data = params(obj.data);
if(obj.method === 'get')
obj.url += obj.url.indexOf("?") == -1? '?'+obj.data:'&'+obj.data;
if(obj.async === true){
xhr.onreadystatechange = function(){
if(xhr.readyState ==4 ){
callback();
}
};
}else{
callback();
}
xhr.open(obj.method,obj.url,obj.async);
if(obj.method === 'post'){
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencode');
xhr.send(obj.data);
}else{
xhr.send(null);
}
function params(data){
var arr = [];
for(var i in data){
arr.push(encodeURLComponent(i) + '=' + encodeURIComponent(data[i]));
}
return arr.join('&');
}
function callback(){
if(xhr.status == 200){
obj.success(xhr.responseText);
}else{
alert('获取数据错误!错误代码:'+ xhr.status + ',错误信息:'+ xhr.statusText);
}
}
}
ajax个人学习笔记的更多相关文章
- day64—ajax技术学习笔记
转行学开发,代码100天——2018-05-19 Ajax技术学习笔记 AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML).AJA ...
- AJAX(学习笔记一)
1:什么是AJAX? AJAX是一组英文单词的简写,这组英文单词是 :Asynchronous JavaScript and XML ,翻译成中文的意思是: 异步的JavaScript 和 XML.什 ...
- 20151211Jquery Ajax进阶学习笔记
四.JSON 和 JSONP 如果在同一个域下,$.ajax()方法只要设置 dataType 属性即可加载 JSON 文件.而在非 同域下,可以使用 JSONP,但也是有条件的. //$.ajax( ...
- Ajax的学习笔记(一)
AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),ajax并不是一门单独的语言,而是一种技术,是指一种创建交互式网页应用的网页开发技术. ...
- Jquery+Ajax+php学习笔记
昨天研究ajax,想作个登陆框,无刷新就把用户名密码提交给后台php程序,验证后发回. 几经琢磨 总算出来前台代码: <script src="./javascript/jquery- ...
- JS高程关于ajax的学习笔记
1.ajax介绍 ajax技术可以实现浏览器向服务器请求数据时不需要重新加载页面,就可以从服务器中获取需要的数据. ajax技术的核心是XMLHttpRequest对象(简称XHR),XHR对象为向服 ...
- Ajax+JSON学习笔记(二)
来源:http://www.imooc.com/learn/250 readyState属性 0:请求未初始化,open还没有调用 1:服务器连接已建立,open已经调用了 2:请求已接受,也就是接收 ...
- ajax json 学习笔记
json = { } JSON 字符串必须使用双引号,单引号会出现错误 三种类型: 简单值:字符串.数值.布尔值.null 对象:无序的键值对儿 数组:有序的值列表 解析:JSON.eval() ...
- [学习笔记]AJAX学习
AJAX学习 ——在w3cschool学习AJAX的学习笔记 参考网站:w3cschool XMLHttpRequest 是 AJAX 的基础. XMLHttpRequest 对象 所有现代浏览器均支 ...
随机推荐
- resin启动问题
启动resin时报错如下: Resin/4.0.28 can't restart -server 'app-0'. com.caucho.bam.RemoteConnectionFailedExcep ...
- 详解TCP的三次握手四次断开
本文将分别讲解经典的TCP协议建立连接(所谓的“3次握手”)和断开连接(所谓的“4次挥手”)的过程. 尽管TCP和UDP都使用相同的网络层(IP),TCP却向应用层提供与UDP完全不同的服务.TCP提 ...
- 如何跳转到其他APP(android)
有很多小伙伴会遇上这样的需求,从自己的app页面跳转到其他APP界面,一般情况下都是在自己的主包中跳转到公司其他APP,或者是合作方的APP,如果手机中没有这款APP会下载这款APP . 今天,博主就 ...
- 解析转换json xml 集合 ado
json提取 string str = "[{\"JUDGE_RESULT\":\"B类\",\"JUDGE_RESULT\":\ ...
- HDU1010 Tempter of the Bone(回溯 + 剪枝)
本文链接:http://i.cnblogs.com/EditPosts.aspx?postid=5398734 题意: 输入一个 N * M的迷宫,这个迷宫里'S'代表小狗的位置,'X'代表陷阱,‘D ...
- Codeforces E. Bash Plays with Functions(积性函数DP)
链接 codeforces 题解 结论:\(f_0(n)=2^{n的质因子个数}\)= 根据性质可知\(f_0()\)是一个积性函数 对于\(f_{r+1}()\)化一下式子 对于 \[f_{r+1} ...
- Flash3D学习计划(四)——学习纹理相关知识,载入一张纹理,并应用于前面的矩形;并学习多层纹理映射相关知识,尝试dark map, glow map
实现效果 主要代码 package { import com.adobe.utils.AGALMiniAssembler; import com.adobe.utils.Perspective ...
- C++ development cross platforms
1. target platforms: linux suse, windows server, both use vmware virtual machine on lab server. 2. c ...
- 设计模式之工厂模式之工厂方法(php实现)
github: git@github.com:ZQCard/design_pattern.git /** * 工厂方法 * 使用开闭原则来分析下工厂方法模式.当有新的产品产生时,只要按照抽象产品角色. ...
- SQL 存储过程(转帖摘录)
篇一: 创建存储过程 Create Proc dbo.存储过程名 存储过程参数 AS 执行语句 RETURN 执行存储过程 GO *********** ...