• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Ajax 对象 包含post和get两种异步传输方式
    复制代码 代码如下:

    /**
    * @author Supersha
    * @QQ:770104121
    */
    !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    html>
    head>
    meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    title>Ajax Document/title>
    script type="text/javascript">
    //注意,编码要同意为utf-8才能避免中文参数和返回中文的乱码问题
    function Ajax(prop){
    this.action(prop); //在实例化的时候就调用action方法
    }
    Ajax.prototype = {
    createXHR: function(){ //创建XMLHttpRequest对象
    var xhr = false;
    if (window.XMLHttpRequest) {
    xhr = new XMLHttpRequest();
    }
    else
    if (window.ActiveXObject) {
    try {
    xhr = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e) {
    xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }
    }
    return xhr;
    },
    action: function(prop){
    var xhr = this.createXHR();
    if (xhr) {
    var url = encodeURI(prop["url"]); //对URL进行编码
    if (prop["method"] == "GET" url prop["success"]) { //GET方法
    xhr.onreadystatechange = function(){
    (function(){ //自执行函数用于检查服务器的返回状态并执行回调函数
    if (xhr.readyState == 4 xhr.status == 200) {
    prop["success"](xhr); //执行回调函数
    }
    })();
    };
    //alert(prop["hander"] instanceof Function);
    xhr.open("GET", url, true);
    xhr.send(null);
    }
    else
    if (prop["method"] == "POST" url prop["success"]) { //POST方法
    xhr.onreadystatechange = function(){
    (function(){
    if (xhr.readyState == 4 xhr.status == 200) {
    prop["success"](xhr); //执行回调函数
    }
    })();
    };
    if (prop["params"]) {
    url = url.indexOf("?") > -1 ? url + "" + prop["params"] : url +"?" + prop["params"];
    }
    xhr.open("POST", url, true);
    xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xhr.send(null);
    }
    }
    else
    if (!xhr prop["fail"]) {
    prop["fail"]();
    }
    }
    }
    function getData(){
    var ajax = new Ajax({
    url: "test.php",
    method: "POST",
    success: onComplete,
    params: "name="+escape("沙锋") //进行编码
    });
    }
    function onComplete(obj){
    alert(unescape(obj.responseText)); //进行转码
    }
    /script>
    /head>
    body>
    input type="button" value="Get Data" onclick="getData()"/>
    /body>
    /html>

    注释:
    Ajax对象接受一个对象字面量为参数,这个对象字面量中包含method,url,success,params,fail参数
    method:"GET"或者"POST"
    url:服务器端文件路径
    success:当请求没有错误的时候,调用的回调函数,该回调函数带一个XMLHttpRequest对象的参数
    fail:当请求错误的时候调用
    params:当使用POST方法发送请求是,params为参数字符串
    您可能感兴趣的文章:
    • JQuery中使用ajax传输超大数据的解决方法
    • AJAX 异步传输数据的问题
    • Ajax实现的异步传输与验证示例代码
    • Ajax异步传输与PHP实现交互示例
    • Ajax同步与异步传输的示例代码
    • 利用ThinkPHP内置的ThinkAjax实现异步传输技术的实现方法
    • AJAX在GB2312的中文编码传输 AJAX特殊字符编码正确方法
    • ajax数据传输方式实例详解
    上一篇:自己动手封装的 ajax
    下一篇:Ajax 超时检查脚本
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Ajax 对象 包含post和get两种异步传输方式 Ajax,对象,包含,post,和,get,