懂得放弃,才会有新的收获!

ajax跨域访问(cross-domain)

By weisnet On 2009-05-04 At 20:55 View:1839

本地站:http://www.somedomain.com

目标站:http://bbs.somedomain.com

解决方法 :

1. 在目标站 document.domain = 'somedomain.com';

并建立一个ajax.html,引用ajax方法 (大家都叫它服务中介)

然后创建一个ajax对象 var webreq = new Ajax();

2. 在本地站 document.domain = 'somedomain.com';

用iframe引用目标站的ajax.html.

 

详细方法:

1. 本地站的一个页面(Test.html)

html:

<html>

<head>

<script type='text/javascript'>document.domain='somedomain.com';</script>

<script type='text/javascript'>

function getAjax()

{

var spn = document.getElementById('spninfo');

var bbsWin = document.getElementById('ifrWindow').contentWindow;

var Ajax = bbsWin.webreq;

Ajax.Config.Result = 'TestAjaxCross';

Ajax.Config.returnType = 'Content';

Ajax.ActionPost('http://bbs.somedomain.com/doAjax.aspx',spn,window);

}

</script>

</head>

<body>

<span id='spninfo' />

<input type='button' id='ajaxBtn' onclick='getAjax' value='Get' />

</body>

<iframe id='ifrWindow' src='http://bbs.somedomain.com/ajax.html' style='display:none;'></iframe>

</html>

 

/////////////////////////////////////////////////////////////////////////////

 

2. 目标站的ajax.html

Html:

<html>

<head>

<script type='text/javascript'>document.domain='somedomain.com';</script>

<script type='text/javascript' scr='http://bbs.somedomain.com/ajaxMethod.js'></script>

<script type='text/javascript'>

var webreq = new Ajax();

function ExecResult(ty,W)
{
      if (ty == 'TestAjaxCross')
      {
            W.document.getElementById('loginName').value = '';
            W.document.getElementById('loginPass').value = '';
            W.location.href = 'http://www.somedomain.com/urlyouwantgo';
      }
}

</script>

</head>

<body>

</body>

</html>

 

----------------------------------------------------------------

目标站: doAjax.aspx

html为空

doAjax.aspx.cs

代码(Page_Load)

Response.Write("<zwd><content>看到效果了么?</content></zwd>");

return;

 

=====================================================

AjaxMethid.JS 源码 

·上一篇:Firefox 下的 outerHTML
·下一篇:实现自定义Hashtable (.net)

for this post

 
 

Leave a Reply

赶快抢个沙发坐坐!
请先 登陆  还没帐号

Hot Posts Powered by weiseditor

  • Add to Google

Friend links