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

  • 相关阅读:
    从函数作用域和块级作用域看javascript的作用域链
    基于vue实现一个简单的MVVM框架(源码分析)
    发布-订阅模式
    希尔排序
    直接插入排序
    选择排序
    React Fiber源码分析 第三篇(异步状态)
    React Fiber源码分析 第二篇(同步模式)
    React Fiber源码分析 第一篇
    数据结构 之 树总结
  • 原文地址:https://www.cnblogs.com/lavezhang/p/5309815.html
Copyright © 2011-2022 走看看