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);
            }
        }

    }

  • 相关阅读:
    ie的bug及兼容性
    解决多次include后全局变量global失效的问题
    针对MYISAM表锁的解决方案(转)
    解决二进制文件冲突
    linux基本命令(1) 开关机操作
    子网掩码(NETMASK),ip地址,默认网关
    linux中常见设备对照表
    解决base64通过http传输后+变空格的问题
    mysql 查询某值是否存在于某结果集或表中
    laravel 报错 No query results for model
  • 原文地址:https://www.cnblogs.com/lxl0419/p/8522753.html
Copyright © 2011-2022 走看看