• 封装ajax,简单的模仿jquery提交


    var BlueNet={
            ParmsMaker:function(data){
                        var strtemp='';
                         for(var key in data[0]){
                                 strtemp=strtemp+BlueNet.readJsonValue(data[0],key);
                            }
                        return strtemp.substring(0,strtemp.length-1);
                    },
                readJsonValue:function(data,key){
                        return key+"= '"+data[key]+"'&";
                },
            Post:function(url,data,success){
                var xmlHttp = null; 
                if(window.XMLHttpRequest) { 
                    xmlHttp = new XMLHttpRequest(); 
                    } else if (window.ActiveXObject) { 
                        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 
                } 
                xmlHttp.open("POST", url, true);
                var datas=new Array();
                datas.push(data);
                  xmlHttp.send(this.ParmsMaker(datas));
                xmlHttp.onreadystatechange = function() {
                    if(xmlHttp.readyState == 4 && xmlHttp.status == 200) {
                        success(xmlHttp.responseText);
                    }
                }
            }
        }

    使用方法如下:

      

    var data={username:'fdfadfa',
          password:'fdsafds'
          }
    BlueNet.Post("你得地址",data,function(str){
            //str是回调的字段
            alert(str);
            });

    又看到别人的文章,感觉自己还是太年轻了...建议直接看原版,以下是我的个人记录:

    var myAjax = {
        // XMLHttpRequest IE7+, Firefox, Chrome, Opera, Safari ;  ActiveXObject IE6, IE5
        xhr: window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP'),
        get: function (url, callback) {
            this.xhr.open('get', url);
            this.onreadystatechange(callback, this.xhr);
            this.xhr.send(null);        
        },
        post: function (url, data, callback) {
            this.xhr.open('post', url);
            this.xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            this.onreadystatechange(callback, this.xhr);
            this.xhr.send(data);
        },
        onreadystatechange: function (func, _xhr) {
            _xhr.onreadystatechange = function () {
                if (_xhr.readyState == 4) {
                    if (_xhr.status == 200) {
                        func(_xhr.responseText);
                    }
                }
            }
        }
    }

    调用:

    myAjax.post('AjaxHandler.ashx', 'func=GetServerTime'
                , function (data) {
                    if (data)
                        alert(data);
                }
            );
  • 相关阅读:
    02-model设计
    01-开发环境搭建
    04-Uwsgi配置启动Nginx虚拟主机配置
    03-MySQL安装与配置
    02-Nginx配置
    01-Nginx安装
    22-注册、登录、验证登录
    21-django-pure-pagination分页
    (二)windows上使用docker
    Docker在windows7上的安装
  • 原文地址:https://www.cnblogs.com/bluen/p/3627631.html
Copyright © 2020-2023  润新知