本地站: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 源码