zoukankan      html  css  js  c++  java
  • 原生ajax的请求封装get和post

    一个完整的AJAX请求包括五个步骤:

      1.创建XMLHTTPRequest对象

      2.使用open方法创建http请求,并设置请求地址

      3.设置发送的数据,开始和服务器端交互

      4.注册事件

      5.获取响应并更新界面

    function ajax_method(url,data,method,success) {
        // 异步对象
        var ajax = new XMLHttpRequest();

        // get 跟post  需要分别写不同的代码
        if (method=='get') {
            // get请求
            if (data) {
                // 如果有值
                url+='?';
                url+=data;
            }else{

            }
            // 设置 方法 以及 url
            ajax.open(method,url);

            // send即可
            ajax.send();
        }else{
            // post请求
            // post请求 url 是不需要改变
            ajax.open(method,url);

            // 需要设置请求报文
            ajax.setRequestHeader("Content-type","application/x-www-form-urlencoded");

            // 判断data send发送数据
            if (data) {
                // 如果有值 从send发送
                ajax.send(data);
            }else{
                // 木有值 直接发送即可
                ajax.send();
            }
        }

        // 注册事件
        ajax.onreadystatechange = function () {
            // 在事件中 获取数据 并修改界面显示
            if (ajax.readyState==4&&ajax.status==200) {
                // console.log(ajax.responseText);

                // 将 数据 让 外面可以使用
                // return ajax.responseText;

                // 当 onreadystatechange 调用时 说明 数据回来了
                // ajax.responseText;

                // 如果说 外面可以传入一个 function 作为参数 success
                success(ajax.responseText);
            }
        }

    }

  • 相关阅读:
    javascript的字段值,私有变量,静态方法声明
    取得序列中某个点的范围边界
    使用wubi安装ubuntu11.04后无线网卡被禁用无法打开解决办法
    WEB前端性能优化
    jQuery的arrayLike
    在手机上安装BT5系统,没错就是破解无线密码的那个
    PHP在子类方法B调用父类的方法A时,不传参数时仍能得到方法B的名称
    讨厌的文本选区
    PHP遍历解析XML为一个数组
    “软工厂代码生成工具”的学习笔记
  • 原文地址:https://www.cnblogs.com/lxl0419/p/8522753.html
Copyright © 2011-2022 走看看