• 简单封装get和jsonp


    /**
     * 向服务器发送GET请求。
     *
     * @param {type} url
     * @param {type} async 是否异步调用
     * @param {type} fnCallback 回调函数
     * @returns {undefined} 如果是异步调用,通过fnCallback函数回调;如果是同步调用,直接返回请求结果。
     */
    function request(url, async, fnCallback) {
        var http;
        if (window.XMLHttpRequest) {
            http = new XMLHttpRequest();
        } else if (window.ActiveXObject) {
            http = new ActiveXObject("Microsoft.XMLHTTP");
        } else return;

        if (async) {
            if (fnCallback) {
                http.onreadystatechange = function () {
                    if (http.readyState == 4 && http.status == 200) {
                        fnCallback(http.responseText);
                    }
                }
            }
            http.open("GET", url, true);
            http.send();
        } else {
            http.open("GET", url, false);
            http.send();
            if (fnCallback) {
                fnCallback(http.responseText);
            }
            return http.responseText;
        }
    }

    /**
     * 向跨域服务器请求指定的URL。
     * 通过QueryString中必须包含名为callback的参数,该参数的值是回调函数的名称。
     *
     * @param {type} url
     * @returns {undefined} 通过QueryString中的callback参数指定的回调函数进行处理。
     */
    function jsonp(url) {
        var b = document.getElementsByTagName("head")[0];
        var a = document.createElement("script");
        a.type = "text/javascript";
        a.src = url;
        b.appendChild(a);
    }

  • 相关阅读:
    sem_timedwait
    netty
    嵌入式系统设计师
    新知识点
    20228
    20227
    mdbook
    optparse模块使用
    TiDB集群销毁删除
    configparser模块的使用
  • 原文地址:https://www.cnblogs.com/lavezhang/p/5309815.html
Copyright © 2020-2023  润新知