zoukankan      html  css  js  c++  java
  • ajax的封装及调用(版本二-面向对象)

    1.封装
    //封装秘诀:将相同的留下来,将不同的作为参数传递

    function ajax (obj){
    if(obj.type == null){
    obj.type = "get";
    }
    if(obj.async == null){
    obj.async = true;//默认使用异步
    }

    var xhr = new XMLHttpRequest();

    xhr.onreadystatechange = function(){
    if(xhr.readyState == 4){
    if(xhr.status == 200){
    obj.handle200(xhr)
    }else if(xhr.status == 404){
    if(obj.handle404 != null){
    obj.handle404(xhr)
    }
    } else if(xhr.status == 500){
    if(obj.handle500 != null){
    obj.handle500(xhr)
    }
    }
    }else{
    if(obj.loading != null){
    obj.loading(xhr)
    }
    }
    }

    if(obj.type.toLowerCase() == "get"){
    if(obj.param != null){
    xhr.open(obj.type,obj.url+"?"+obj.param,obj.async);
    }else{
    xhr.open(obj.type,obj.url,obj.async);
    }
    xhr.send();
    }else if(obj.type.toLowerCase() == "post"){
    xhr.open(obj.type,obj.url,obj.async);
    xhr.setRequestHeader("content-type","application/x-www-form-urlencoded")
    xhr.send(obj.param);
    }
    }

    2.在servlet中的设置
    //获取get方法的发送的数据
    System.out.println(request.getParameter("name"));
    System.out.println(request.getParameter("age"));

    try {
    Thread.sleep(5000);
    } catch (InterruptedException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }


    //要返回数据,用流
    PrintWriter out = response.getWriter();
    out.write("{ "name" : "zhangsan" , "age" : 18 }");
    }


    3.调用
    function doAjax(){
    ajax({
    "url" : "getdata" ,
    "param" : "name=lisi&age=25" ,
    "handle200" : function(xhr){
    var obj = JSON.parse(xhr.responseText);
    console.log(obj.name);
    console.log(obj.age);
    }
    });
    }

  • 相关阅读:
    DM8168通过GPMC接口与FPGA高速数据通信实现
    2016年 我在浙大计算机学院在职研究生学习经历
    CCS Font 知识整理总结
    Hexo 博客部署到 GitHub
    树莓派配置 USB 无线网卡
    树莓派搭建 Hexo 博客(二)
    树莓派搭建 Hexo 博客(一)
    树莓派初次使用的基本配置.md
    语法测试cnblogs使用Markdown
    硬件工程师-面试笔记0305
  • 原文地址:https://www.cnblogs.com/su-chu-zhi-151/p/11224373.html
Copyright © 2011-2022 走看看