一个简单的AJAX请求类

ajax|请求

  在给blog加上无刷新搜索和即时验证检测后,又看了下代码,感觉太过麻烦,就把XMLHttpRequest请求封装到一个类里面,用起来方便多了,不用记那么多代码,什么创建XMLHttpRequest对象什么的,这部分代码也是重用性比较高的~已经打包,在日志的末尾下载。
要看效果的话点开侧边栏里的日志搜索,里面有一个无刷新搜索,就是了,或者在阅读日志或留言簿里的注册码那里有即时检测,如果不输入验证码或者输错了验证码,输入框都会变红的'
类名:AJAXRequest
创建方法:var ajaxobj=new AJAXRequest;,如果创建失败则返回false
属性:method  -  请求方法,字符串,POST或者GET,默认为POST
   url         -  请求URL,字符串,默认为空
   async     -  是否异步,true为异步,false为同步,默认为true
   content -  请求的内容,如果请求方法为POST需要设定此属性,默认为空
   callback  - 回调函数,即返回响应内容时调用的函数,默认为直接返回,回调函数有一个参数为XMLHttpRequest对象,即定义回调函数时要这样:function mycallback(xmlobj)
方法:send     -  发送请求,无参数
一个例子:
[复制此代码]CODE:
<script type="text/javascript" src="ajaxrequest.js"></script>
<script type="text/javascript">
var ajaxobj=new AJAXRequest;    // 创建AJAX对象
ajaxobj.method="GET";   // 设置请求方式为GET
ajaxobj.url="default.asp"  // URL为default.asp
// 设置回调函数,输出响应内容
ajaxobj.callback=function(xmlobj) {
     document.write(xmlobj.responseText);
}
ajaxobj.send();    // 发送请求

[复制此代码]CODE:
// AJAX类
function AJAXRequest() {
    var xmlObj = false;
    var CBfunc,ObjSelf;
    ObjSelf=this;
    try { xmlObj=new XMLHttpRequest; }
    catch(e) {
        try { xmlObj=new ActiveXObject("MSXML2.XMLHTTP"); }
        catch(e2) {
            try { xmlObj=new ActiveXObject("Microsoft.XMLHTTP"); }
            catch(e3) { xmlObj=false; }
        }
    }
    if (!xmlObj) return false;
    this.method="POST";
    this.url;
    this.async=true;
    this.content="";
    this.callback=function(cbobj) {return;}
    this.send=function() {
        if(!this.method||!this.url||!this.async) return false;
        xmlObj.open (this.method, this.url, this.async);
        if(this.method=="POST") xmlObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
        xmlObj.onreadystatechange=function() {
            if(xmlObj.readyState==4) {
                if(xmlObj.status==200) {
                    ObjSelf.callback(xmlObj);
                }
            }
        }
        if(this.method=="POST") xmlObj.send(this.content);
        else xmlObj.send(null);
    }
}

时间: 2024-09-20 20:22:05

一个简单的AJAX请求类的相关文章

一个简单的AJAX请求类_AJAX相关

在给blog加上无刷新搜索和即时验证检测后,又看了下代码,感觉太过麻烦,就把XMLHttpRequest请求封装到一个类里面,用起来方便多了,不用记那么多代码,什么创建XMLHttpRequest对象什么的,这部分代码也是重用性比较高的-已经打包,在日志的末尾下载. 要看效果的话点开侧边栏里的日志搜索,里面有一个无刷新搜索,就是了,或者在阅读日志或留言簿里的注册码那里有即时检测,如果不输入验证码或者输错了验证码,输入框都会变红的^_^ 类名:AJAXRequest 创建方法:var ajaxob

AJAX请求类_AJAX相关

复制代码 代码如下: // AJAX类function AJAXRequest() { var xmlObj = false; var CBfunc,ObjSelf; ObjSelf=this; try { xmlObj=new XMLHttpRequest; } catch(e) {  try { xmlObj=new ActiveXObject("MSXML2.XMLHTTP"); }  catch(e2) {   try { xmlObj=new ActiveXObject(&q

非常简单的Ajax请求实例附源码

Ajax不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术.通过Ajax,您可以使用 JavaScript的XMLHttpRequest对象来直接与服务器进行通信.您可以在不重载页面的情况与 Web 服务器交换数据.在本文的例子中,我们将演示当用户向一个标准的HTML表单中输入数据时网页如何与web服务器进行通信. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &quo

AJAX请求类

复制代码 代码如下: // AJAX类 function AJAXRequest() {  var xmlObj = false;  var CBfunc,ObjSelf;  ObjSelf=this;  try { xmlObj=new XMLHttpRequest; }  catch(e) {   try { xmlObj=new ActiveXObject("MSXML2.XMLHTTP"); }   catch(e2) {    try { xmlObj=new ActiveX

PHP实现的一个简单的数据库操作类

PHP实现的一个简单的数据库操作类 实现的功能: - 在实例化的时候能设置连接字符集 - 在实例化的时候能连接数据库 - 在实例化的时候能选择默认数据库 - 销毁对象时关闭数据库 代码如下: <?php // 数据库操作类MySQLDB class MySQLDB { // 声明属性 private $server; private $username; private $password; public $default_db; public $link; // 声明构造函数 public f

小米-Android 一个简单的post请求遇到的问题

问题描述 Android 一个简单的post请求遇到的问题 用volley的post请求,在其它手机上测试 线上path+轮播图url 返回正常的json数据,用小米4手机 返回一个404错误的html 如图: 经测试 在小米4手机上 线上path+其他url 获取的是正常json 线下测试path+轮播图url也能获取正常json 但是线上path+轮播图url就会返回该html 有没有大神知道什么原因?怎么解决?有人说是因为运营商,该手机用的移动卡,有关系吗? 解决方案 感觉可能跟移动卡有关

一个简单的链表模版类的实现

这是翻阅<数据结构.算法与应用--C++语言描述> 以及在网上得到的一些资料后写出来的.起因是在项目中要用到一个链表,但我做一个简单的链表在C++中用的时候跟C差别很多,比如赋值运算(编译器说要做操作符重载,或者考贝构造函数,C++中把结构当成一个类来看了,详见相关介绍的文档或书籍).后来一想干脆做个template顺便学习一下,一举两得. 几个问题: CListData和CNode的函数均为内联函数(inline),因为目前的编译器仍不支持分离编译.按<Thinking in C++&

一个简单的Generic Factory类

简单的工厂类的一个使用场景是,假设有一个基类 BaseClass,和一系列的子类 A,B,C,工厂类根据某个参数,例如字符串 "A", "B", "C" 创建出相应的子类. 举例如下: public class Factory { public static BaseClass Create(string name) { switch (name) { case "A": return new A(); case "

通过jquery的$.getJSON做一个跨域ajax请求试验_jquery

(主要是留个备用,怕以后再用到自己却忘记了,所以没有太多的解释,实在看不明白的话,照着我的代码,你也试一个吧) 我后端是用php的,以下代码主要实现的一个功能就是提供一个预约登记的接口,需要传入的数据分别有:用户姓名.联系电话和地址 /*预约登记 执行 接口*/ 复制代码 代码如下: /*预约登记 执行 接口*/ case "yuyue_interface": $name = trim($_GET['name']); $phone = trim($_GET['phone']); $ad