zoukankan      html  css  js  c++  java
  • 跨域请求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();   
            };
        }
    }

  • 相关阅读:
    The bean 'xxx' could not be injected as a 'xxx'because it is a JDK dynamic proxy that implements
    JQuery对象选择详细说明
    C#将image中的显示的图片转换成二进制
    选择一个图片文件,并且用PictureBox表示在Form上
    Android推送方案分析(MQTT/XMPP/GCM)
    [转载]什么是 Design Hackathon?
    脚本启动MySql服务
    Mysql数据库插入数据乱码问题,解决方案!
    MySQL自动备份脚本
    读取Excel模板,写入数据,并别输出另存为Excel文件
  • 原文地址:https://www.cnblogs.com/AngryXiaopeng/p/3473515.html
Copyright © 2011-2022 走看看