zoukankan      html  css  js  c++  java
  • 客户端异步取服务端数据

    1.js可跨域

    convertServer={
    requestByScript: function(scriptId, dataHref, callback, charset, retry) {
            var isReady = false;
            if (callback) {
                if (typeof (callback) == "string") {
                    charset = callback;
                    callback = null;
                }
            }
            var head = document.getElementsByTagName("head")[0];
            var objScript = document.getElementById(scriptId);
            if (objScript && !document.all) {
                objScript.src = "";
                objScript.parentNode.removeChild(objScript);
                objScript = null;
            }
            if (objScript != null) {
                if (dataHref.indexOf("?") == -1) dataHref += "?";
                dataHref += "&" + Math.random();
                objScript.src = dataHref;
                var dataScript = objScript;
            } else {
                var dataScript = document.createElement("script");
                dataScript.id = scriptId;
                if (charset) {
                    dataScript.charset = charset;
                } else {
                    dataScript.charset = "GB2312";
                }
                dataScript.src = dataHref;
                dataScript.defer = true;
                dataScript.type = "text/javascript";
                head.appendChild(dataScript);
            }
            if (document.all) {
                dataScript.onreadystatechange = function() {
                    if (dataScript.readyState == "loaded" || dataScript.readyState == "complete") {
                        isReady = true;
                        if (callback) callback();
                    }
                }
            } else {
                dataScript.onload = function() {
                    isReady = true;
                    if (callback) callback();
                }
            }

            if (retry) {
                setTimeout(function() {
                    if (retry.times > 0 && !isReady) {
                        retry.times--;
                        if (dataHref.indexOf("?") == -1) dataHref += "?";
                        dataHref += "&" + Math.random();
                        convertServer.requestByScript(scriptId, dataHref, callback, charset, retry);
                    }
                }, retry.timeout);
            }
        },
        requestData:function(url,callBack)
        {
            var scriptId="jsReuest"+ Math.random();            
            convertServer.requestByScript(scriptId, url, callBack)         
        }

    }

    2. jQuery.ajax(options),不能跨域

  • 相关阅读:
    IE调试页面总结
    解决XAMPP不能启动Apche服务问题
    WCF与Ajax开发实践系列课程
    Team Foundation 中的错误和事件消息
    设置SVN提交日志必填
    MyBatis.Net 学习手记
    PandorBox 中安装aria2失败的解决办法
    Linux 启动出现 busybox vx.x.xx built-in shell 的问题
    Sql Server 中查询存储过程的修改时间
    ubuntu挂载和挂载NTFS分区命令
  • 原文地址:https://www.cnblogs.com/ylemzhang/p/1836028.html
Copyright © 2011-2022 走看看