没有合适的资源?快使用搜索试试~ 我知道了~
Ajax的学习心得,希望对大家有帮助;这里归纳了一些常见的问题已经解决方法。
资源详情
资源评论
资源推荐
整理的简单通用的 Ajax
文章分类:Web 前端 关键字: ajax
自己研究了下网上的代码,再研究下了几个框架,如 dojo,jquery 等等的内容,自己整合
了自己需要的代码片段,反正留着实用,不
管是 asp,php,net 等等,web 开发都可以用到!兼容浏览器!
Javascript 代码
jsManager={};
jsManager.ajax={};
//这里参考 dojo,创建一个通用的 XmlRequest 对象
jsManager.ajax._XHR = function() {
var xmlhttp;
try { // Mozilla / Safari / IE7
xmlhttp = new XMLHttpRequest();
} catch(e) { // IE
var XMLHTTP_IDS = new Array(
'MSXML2.XMLHTTP.5.0',
'MSXML2.XMLHTTP.4.0',
'MSXML2.XMLHTTP.3.0',
'MSXML2.XMLHTTP',
'Microsoft.XMLHTTP'
);
var success = false;
for (var i = 0; i < XMLHTTP_IDS.length && !success; i++) {
if (!success) {
try {
xmlhttp = new ActiveXObject(XMLHTTP_IDS[i]);
success = true;
break;
} catch(e) {}
}
}
if (!success) {
throw new Error('Unable to create XMLHttpRequest.');
}
}
return xmlhttp;
}
jsManager.ajax.ContentType={
//设置这个,它让服务器知道现在发送的是文本
"default":"application/x-www-form-urlencoded",
"xml":"text/xml"
};
jsManager.ajax.OperWay={
"get":"0",
"post":"1"
};
//url 传参数,要注意编码方式
//url 要访问的服务器网址
//fn 服务器返回数据的处理函数
//OperWay 提交数据的方式 默认为 0-表示 get,1-表示 post
//sendStr post 提交数据的字符串
//textType post 提交数据的文本类型,默认为文本
jsManager.ajax.AccessUrl=function (url,fn,OperWay,sendStr,textType) {
var oXmlHttp = new jsManager.ajax._XHR();
var operJsFs= function() {
if (oXmlHttp.readyState == 4) {
if (oXmlHttp.status == 200 || oXmlHttp.statuis == 304) {
var response = oXmlHttp.responseText;
if(fn){
fn(response);
}
}
}
}
oXmlHttp.onreadystatechange = operJsFs;
//给 url 加上时间签,防止缓存
var the_Url=url.split("/");
if(the_Url[the_Url.length-1].indexOf("?")>-1){
url+="&"+new Date().getTime()
}else{
url+="?"+new Date().getTime()
}
if (OperWay) {
var theConType=this.ContentType["default"];
if (this.ContentType[textType]) {
theConType=this.ContentType[textType];
}
oXmlHttp.open('POST', url, true);
xmlHttp.setRequestHeader("Content-Type", theConType);
oXmlHttp.send(sendStr);
}else{
oXmlHttp.open('GET', url, true);
oXmlHttp.send(null);
}
}
//==下面是扩展运用==========================================
//将返回的文本,如果调用了 fn 函数,则该文本将作为该函数的参数,如果没有 fn,仅是传送
数据到服务器处理,而无返回任何信息
//仅仅访问一个 url,如果 Get 方式,要传参数请使用?...&....等 url 形式
jsManager.ajax.CallBack = function(url,fn) {
this.AccessUrl(url,fn);
}
//发送 xml 数据到服务器,由此可以推出发送其他类型的文件类型的数据
//ajax 上传文件可以下面推知
jsManager.ajax.sendXML = function(xmlStr,url,fn) {
this.AccessUrl(url,fn,this.OperWay["post"],xmlStr,this.ContentType["xml"]);
}
//发送 json 数据到服务器
jsManager.ajax.sendJson = function(jsonStr,url,fn) {
this.AccessUrl(url,fn,this.OperWay["post"],jsonStr);
}
jsManager={};
jsManager.ajax={};
//这里参考 dojo,创建一个通用的 XmlRequest 对象
jsManager.ajax._XHR = function() {
var xmlhttp;
try { // Mozilla / Safari / IE7
xmlhttp = new XMLHttpRequest();
} catch(e) { // IE
var XMLHTTP_IDS = new Array(
'MSXML2.XMLHTTP.5.0',
'MSXML2.XMLHTTP.4.0',
'MSXML2.XMLHTTP.3.0',
'MSXML2.XMLHTTP',
'Microsoft.XMLHTTP'
);
var success = false;
for (var i = 0; i < XMLHTTP_IDS.length && !success; i++) {
if (!success) {
try {
xmlhttp = new ActiveXObject(XMLHTTP_IDS[i]);
success = true;
break;
} catch(e) {}
}
}
if (!success) {
throw new Error('Unable to create XMLHttpRequest.');
}
剩余19页未读,继续阅读
lzb888
- 粉丝: 0
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0