javascript中的AJAX
来源:互联网 发布:青岛知行国际要交费吗 编辑:程序博客网 时间:2024/06/11 16:05
Ajax 技术的核心是XMLHttpRequest 对象(简称XHR),这是由微软首先引入的一个特性,其他
浏览器提供商后来都提供了相同的实现。
IE7+、Firefox、Opera、Chrome 和Safari 都支持原生的XHR 对象
在IE的老浏览器中可能会遇到三种不同版本的XHR 对象,即MSXML2.XMLHttp MSXML2.XMLHttp.3.0 和MXSML2.XMLHttp.6.0
要跨浏览器的话可以用下面的代码:
function createXHR(){//生成XHR对象 if(typeof XMLHttpRequest=="function"){ return new XMLHttpRequest();//原生的xhr对象 }esle if(typeof ActiveXObject!="undefined"){//ie7-系列 var version=['MSXML2.XMLHttp.6.0','MSXML2.XMLHttp.3.0','MSXML2.XMLHttp']; for(var i=0;i<version.length;i++){ try{ return new ActiveXObject(version[i]); }catch(e){ //跳过 } } } else{ throw new Error("not support the createXMR method"); }}function ajax(method,url,data,async){/* method:表示是以get还是post方法请求 ulr:请求的url data:发送的数据 async:同步还是异步,fasle表示同步,true表示异步*/ var xhr=createXHR(); /*如果是以get方式发送数据的话,数据是加载在url后面,以name=value的方式,如: http://www.vip.com/0308?tagId=manjian298&f=oper_2 */ if(method=="get"){//get方式请求数据 url=url+"?"+data; } xhr.onreadystatechange = function(){ if (xhr.readyState == 4){ if ((xhr.status >= 200 && xhr.status < 300) || xhr.status == 304){ alert(xhr.responseText);//这里可以执行回调函数 } else { alert("Request was unsuccessful: " + xhr.status); } } }; xhr.open(method,url, async);// //如果是post请求的话,还有加上下面这句 if(methhod=="post"){ xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xhr.send(data); }else{ xhr.send(null);//如果是以get方式请求的话,则为null; } }
注意:只能向同一个域中使用相同端口和协议的URL 发送请求。如果URL 与启动请求的页面有任何差别,都会引发安全错误。这与web的同源策略有关。
0 0
- AJAX 中的javascript部分
- AJAX中的JavaScript加强
- JavaScript中的Ajax
- javascript中的AJAX
- javascript中的AJAX
- Javascript中的Ajax
- Javascript中的ajax
- JavaScript中的Ajax
- javascript中的ajax
- JavaScript中的Ajax详解
- javascript中的AJAX和如何封装AJAX
- JavaScript和jQuery中的AJAX
- AJAX中的一个应用:javascript:void(0)
- 运行Ajax请求响应中的Javascript代码
- javascript中的ajax的作用域问题
- ASP.NET中的AJAX JavaScript实现
- javascript中的ajax对象(一)
- 【前端学习笔记】原生Javascript中的ajax
- 2016年3月8日
- CGAL remove_face source code analysis
- 就拿胖子说事4
- Linux下搭建FTP服务器
- 第2周-项目2-就拿胖子说事
- javascript中的AJAX
- 项目之常见术语整理
- 设计模式系列(二): 组合模式
- Oracle死锁查询及处理
- Java序列化
- asp.net中,<%#%>,<%=%>和<%%>分别是什么意思,有什么区别
- Q-learning
- Codeforces 618A - Slime Combining
- Java设计模式——单例模式