原创一个AJAX类
作者:biyuan 来源:biyuan的专栏 发布时间:2008-07-24 13:29:00
标签:ajax,类,XMLHTTP
Ajax类
Send方法的参数解释:
Ajax.Send(Url[, Async[, CallFunc[, User[, Pass]]]]);
Ajax:
必选项,Ajax对象的一个实例。
Url:
必选项,请求的地址。
Async:
可选项,为空表示请求模式为GET,为具体参数(如:{key : "postkey", value : "postvalue"})表示请求为POST。
CallFunc:
可选项,为空表示同步请求,为一个Function对象时表示异步请求并在Ajax的onreadystatechange事件中调用此函数。
User:
可选项,服务器需要验证时此参数为验证需要的用户名。
Pass:
可选项,服务器需要验证是此参数为验证需要的密码。
例子:
function getSend() {
if(ajax.xml.readyState == 4 && ajax.xml.status == 200){
alert(ajax.xml.responseText);
}
else {
alert("wait...");
}
}
var PostString = {
classid : 1,
search : "无忧脚本"
}
var ajax = new Ajax();
ajax.Send("http://bbs.51js.com/");//GET同步请求,可用ajax.xml.responseText获取返回值
ajax.Send("http://bbs.51js.com/", false, getSend);//GET异步请求,回调getSend()函数
ajax.Send("http://bbs.51js.com/", PostString);//POST同步请求,可用ajax.xml.responseText获取返回值
ajax.Send("http://bbs.51js.com/", PostString, getSend);//POST异步请求,回调getSend()函数
以下为程序代码:
function Ajax() {
this.xmlObject = function() {
try {
return new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e) {
try {
return new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e) {
try {
return new XMLHttpRequest();
}
catch(e) {
return window.createRequest();
} ;
};
};
};
this.xml = this.xmlObject();
this.Send = function() {
var PostStr = !!arguments[1] ? (function() {
var tempArr = new Array();
for(var i in arguments.callee.caller.arguments[1]){
tempArr.push(i + "=" + arguments.callee.caller.arguments[1][i]);
}
return tempArr.join("&");
})() : null;
this.xml.open(PostStr ? "POST" : "GET", arguments[0], !!arguments[2], arguments[3], arguments[4]);
!!arguments[2] ? this.xml.onreadystatechange = arguments[2] : null;
if(PostStr){
this.xml.setRequestHeader("Content-Length", PostStr.length);
this.xml.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
};
this.xml.send(PostStr);
};
};
0
投稿
猜你喜欢
- 用过食行生鲜的同学应该知道,每天可以在食行生鲜签到,签到可以领到 20 积分,在购物时可以抵 2 毛钱。钱虽少,但是积少成多,买菜时可以抵扣
- python遍历迭代器自动链式处理数据pytorch.utils.data可兼容迭代数据训练处理,在dataloader中使用提高训练效率:
- 目前,保护数据免受未授权用户的侵犯是系统管理员特别关心的问题。如果你现在用的是MySQL,就可以使用一些方便的功能来保护系统,来大大减少机密
- 注:本文档做了两个MYSQL实例,多个实例方法以此类推LINUX操作系统:centOS6.3 64bit(安装了系统默认开发包)数据库一:M
- <style type="text/css"> <!-- body,td,th {
- 使用PDB的方式有两种:1. 单步执行代码,通过命令 python -m pdb xxx.py 启动脚本,进入单步执行模式 pdb
- 一、前置基础1. go 函数基础在Go语言中,函数的基本组成为:关键字func、函数名、参数列表、返回值、函数体和返回语句。func 函数名
- 今天不小心又点了收藏夹里Google的新首页风格的地址,赫然发现又变了!从这个页面上线以来,偶尔会去看看,短短一年的时间,已经变换了至少三次
- <?php # 设置 $domain 为你的域名 (注意没有www) $domain = "aspxhome.com&quo
- 本文实例讲述了Laravel框架用户登陆身份验证实现方法。分享给大家供大家参考,具体如下:laravel中检测用户是否登录,有以下的代码:i
- 前言本文旨在记录使用Flask框架过程中与前端Vue对接过程中,存在WebSocket总是连接失败导致前端取不到数据的问题。以及在使用Web
- 本文实例为大家分享了vue+element实现图片上传及裁剪的具体代码,供大家参考,具体内容如下随便写的一个小demo 功能是没有任何问题
- 1、查看当前所有连接的详细资料:./mysqladmin -uadmin -p -h10.140.1.1 processlist2、只查看当
- 1.前端接口调用2.register访问入口//查询一个用户下所有的subnetws.Route(ws.GET("/subnets
- 周末在家,儿子闹着要玩游戏,让玩吧,不利于健康,不让玩吧,扛不住他折腾,于是想,不如一起搞个小游戏玩玩!之前给他编过猜数字 和 掷骰子 游戏
- 想想你在一家公司里做表格,现在有一个下面这样的excel表摆在你面前,这是一个员工每个月工资的表,现在假设,你要做的事情,是填充好后面几个月
- python join 和 split方法简单的说是:join用来连接字符串,split恰好相反,拆分字符串的。.join()join将 容
- --创建数据库(文件:主要数据文件mdf==1,次要数据文件ndf>=0,日志文件ldf>=1)--文件组:当1mdf,5个nd
- 在说到什么是回表查询的时候,有两个概念需要先解释清楚:分别是聚集索引(聚簇索引)和非聚集索引(非聚簇索引)聚集索引和非聚集索引MySQL规定
- 人工智能是一个很广阔的领域,很多编程语言都可以用于人工智能开发,所以很难说人工智能必须用哪一种语言来开发。选择多也意味着会有优劣之分,并不是