• 跨域请求Ajax(POST)处理方法


    getXSSAjax(function() {  //跨域请求
            that.ajaxDara(self);
    },
    (bs_tita.webapi || "http://webapi.tita.com") + "/iframe.html");  


     //跨域请求
    function getXSSAjax(callback, iframeUrl){
        // avoid
    error of calling many time in initializing page
        getXSSAjax.callbacks =
    getXSSAjax.callbacks || [];

        var frameId =
    "_bs_js_xss_"+iframeUrl;
        var iframe =
    document.getElementById(frameId);
        if(!iframe){
            iframe =
    document.createElement('iframe');
            iframe.id = frameId;
           
    iframe.style.display="none";
            iframe.src = iframeUrl;

           
    if(iframe.attachEvent){
                    iframe.attachEvent("onload",
    loadHandler);
            } else {
                    iframe.onload =
    loadHandler;
            }
           
    getXSSAjax.callbacks.push(callback);

           
    document.body.appendChild(iframe);                      
        }else{
       
        if(getXSSAjax.loaded){
                callback && callback();   

            }else{
                getXSSAjax.callbacks.push(callback);
       
        }
        }
        function loadHandler () {
            var domainFields =
    document.domain.split('.');
            var len = domainFields.length;
           
    document.domain=domainFields[len-2]+"."+domainFields[len-1];
           
    getXSSAjax.loaded = true;

            $.ajaxPrefilter( function( options )
    {
                    var domain =
    iframe.src.split('/').slice(0,3).join('/');
                   
    if(options.url.indexOf(domain) == 0){
                        // used in
    ie6
                        $.support.cors = true;

                       
    options.xhr = function(){
                        var iframeWindow =
    iframe.contentWindow;
                        return iframeWindow.XMLHttpRequest?
    new iframeWindow.XMLHttpRequest() : iframeWindow.ActiveXObject ? new
    iframeWindow.ActiveXObject("Microsoft.XMLHTTP") : new
    iframeWindow.XMLHttpRequest();
                        };
                   
    }
            });

            for (var i = 0, l=getXSSAjax.callbacks.length; i
    < l; i++) {
                var callback = getXSSAjax.callbacks.pop();
       
            callback && callback();   
            };
        }
    }

  • 相关阅读:
    手工杀毒笔记
    中国黑客名单
    SQL Server 2005 数据库知识大全
    sql server和oracle行转列的一种典型方法
    <h1><span>标签在SEO中的作用及用法
    传说能加快vs编译速度(vs2008+cf3.5)
    WPF版调色器
    SQL经典案例
    Silverlight 2 相关文章汇总
    国内一些黑客高手的联系方式
  • 原文地址:https://www.cnblogs.com/AngryXiaopeng/p/3473515.html
Copyright © 2020-2023  润新知