zoukankan      html  css  js  c++  java
  • 简单封装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);
    }

  • 相关阅读:
    AngularJS双向绑定,手动实施观察
    AngularJS的Hello World
    LESS碎语
    chrome浏览器调试报错:Failed to load resource: the server responsed width a status of 404 (Not Found)…http://127.0.0.1:5099/favicon.ico
    AngularJS报错:[$compile:tpload]
    Javascript中的依赖注入
    使用HTML5和CSS3碎语
    在Brackets中使用Emmet
    使用Brackets
    Bootstrap碎语
  • 原文地址:https://www.cnblogs.com/lavezhang/p/5309815.html
Copyright © 2011-2022 走看看