zoukankan      html  css  js  c++  java
  • 原生js提交表单

    /*********************   表单提交   ***********************/
            function ajax(options) {
                options = options || {};
                options.type = (options.type || "GET").toUpperCase();
                options.dataType = options.dataType || "json";
                var params = formatParams(options.data);
    
                //创建 - 非IE6 - 第一步
                if (window.XMLHttpRequest) {
                    var xhr = new XMLHttpRequest();
                } else { //IE6及其以下版本浏览器
                    var xhr = new ActiveXObject('Microsoft.XMLHTTP');
                }
    
                //接收 - 第三步
                xhr.onreadystatechange = function () {
                    if (xhr.readyState == 4) {
                        var status = xhr.status;
                        if (status >= 200 && status < 300) {
                            options.success && options.success(xhr.responseText, xhr.responseXML);
                        } else {
                            options.fail && options.fail(status);
                        }
                    }
                }
    
                //连接 和 发送 - 第二步
                if (options.type == "GET") {
                    xhr.open("GET", options.url + "?" + params, true);
                    xhr.send(null);
                } else if (options.type == "POST") {
                    xhr.open("POST", options.url, true);
                    //设置表单提交时的内容类型
                    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                    xhr.send(params);
                }
            }
            //格式化参数
            function formatParams(formId) {
                var form = document.getElementById(formId);
                var tagElements = form.getElementsByTagName('input');
                var arr = [];
                for (var i = 0; i < tagElements.length; i++) {
                    arr.push(encodeURIComponent(tagElements[i].name) + "=" + encodeURIComponent(tagElements[i].value));
                }
                arr.push(("v=" + Math.random()).replace(".", ""));
                return arr.join("&");
            }
            /*****************************  结束小尾巴  ***********************************/
  • 相关阅读:
    [NOIP2018校模拟赛]T2矩阵分组 Matrix
    [NOIP2018校模拟赛]T1聚会 party
    python写一个邮箱伪造脚本
    python抢火车票的脚本
    git的使用
    python写一个翻译的小脚本
    python写的一个集合
    python调用metasploit里的MS-17-010模块进行漏洞攻击
    ssh爆破篇
    python查询完结篇
  • 原文地址:https://www.cnblogs.com/dyxd/p/6140157.html
Copyright © 2011-2022 走看看