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

跨域请求Ajax(POST)处理方法的更多相关文章

  1. 本地主机作服务器解决AJAX跨域请求访问数据的方法

    近几天学到ajax,想测试一下ajax样例,由于之前在阿里租用的服务器过期了,于是想着让本地主机既做服务器又做客户端,只是简单地测试,应该还行. 于是,下载了xampp,下载网址http://www. ...

  2. ASP.NET MVC 实现AJAX跨域请求的两种方法

    通常发送AJAX请求都是在本域内完成的,也就是向本域内的某个URL发送请求,完成部分页面的刷新.但有的时候需要向其它域发送AJAX请求,完成数据的加载,例如Google. 在ASP.NET MVC 框 ...

  3. PHP允许AJAX跨域请求的两种方法

    * 一. 服务端设置 header 头允许AJAX跨域 ** 代码如下: // 允许 ityangs.net 发起的跨域请求 header("Access-Control-Allow-Ori ...

  4. 跨域请求ajax jsonp的使用解惑

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. Jsonp实现跨域请求Ajax

    客户端 #!/usr/bin/env python import tornado.ioloop import tornado.web class MainHandler(tornado.web.Req ...

  6. ASP.NET MVC 实现AJAX跨域请求方法《1》

    ASP.NET MVC 实现AJAX跨域请求的两种方法 通常发送AJAX请求都是在本域内完成的,也就是向本域内的某个URL发送请求,完成部分页面的刷新.但有的时候需要向其它域发送AJAX请求,完成数据 ...

  7. ajax跨域请求学习笔记

    原文:ajax跨域请求学习笔记 前言 ajax,用苍白的话赞扬:很好. 我们可以使用ajax实现异步获取数据,减少服务器运算时间,大大地改善用户体验:我们可以使用ajax实现小系统组合大系统:我们还可 ...

  8. Ajax跨域请求以及乱码解决

    Ajax跨域请求2种解决方法 1 ) 什么叫跨域请求,协议,域名,端口号,其中一样不同都称跨域; 第一种:使用script标签发送请求; //创建一个script标签; var v_element=d ...

  9. ASP.NET MVC 实现 AJAX 跨域请求

    ASP.NET MVC 实现AJAX跨域请求的两种方法 和大家分享下Ajax 跨域的经验,之前也找了好多资料,但是都不行,后来看到个可行的修改了并测试下 果然OK了   希望对大家有所帮助! 通常发送 ...

随机推荐

  1. [转]Android项目快速开发框架探索(Mysql + OrmLite + Hessian + Sqlite)

    前言 结合之前所用的ormlite和hessian,再加上SAE已经支持JAVA,把服务端切换到JAVA,也就有了本文.使用hessian来做数据传输,ormlite来实现客户端与服务端的数据存储,极 ...

  2. jsp中非空判断

    function中uname要和id的值相匹配,但是这样不专业,要显示我的专业性,我将使用document获得name的值来判断是否为空,应为这样是专业的写法,我要时刻记住我是专业的 <scri ...

  3. "言官误国"

    "言官误国" 之前读<明朝那些事儿>的时候,了解到了一个全新的概念,确切的说与之前的印象完全不符合的概念:言官.之前我印象中的言官都是魏征那样的人,为国为民.冒死直谏等 ...

  4. hihocoder编程练习赛52-1 字符串排序

    思路: 将字符串按照新的顺序映射之后再排序. 实现: #include <bits/stdc++.h> using namespace std; int main() { int n; s ...

  5. 让px单位自动转换为rem的方法

    开发工具:      编辑器:vscode;     css预处理器:less;(无具体要求): 步骤:   1. vscode安装cssrem插件:   2. 修改css插件的默认配置,其默认转换p ...

  6. 简说JAVA8引入函数式的问题

    JAVA8中加入lambda演算是一个令人兴奋的新特性——虽然这个新特性来得太迟了,目前的主流开发语言中,JAVA似乎是最后一个支持函数式思维的语言. 虽然晚了点,但总比没有好——况且我认为它的实现还 ...

  7. [小记]Android缓存问题

    今天晚上,产品经理打电话说我们的Android App除了问题,问题很简单就是一个缓存问题,由于这个程序是前同事写的,我也只能呵呵一笑,有些事你就得扛.还是回到正题吧,这个缓存问题,实在有点奇葩,所以 ...

  8. git push失败the remote end hung up unexpectedly

    Git Push是老是失败,提示: fatal: the remote end hung up unexpectedly git did not exit cleanly (exit code 1) ...

  9. 迅为八核cortex a53开发板android/linux/Ubuntu系统

    详情请点击了解:http://www.topeetobard.com 店铺:https://arm-board.taobao.com 核心板: 提供1G和2G内存版本,全机器焊接,杜绝手工,批量无忧. ...

  10. 火狐加载用户配置文件 "C:\XXX\Mozilla Firefox\firefox.exe" http://192.168.1.1:8080 -profile ../kkk

    "C:\XXX\Mozilla Firefox\firefox.exe" http://192.168.1.1:8080 -profile ../kkk $("#clic ...