我有一个页面A,在页面load的时候创建了一个隐藏的iframe。iframe中嵌套了login.htm页面。点击A页面的按钮,触发事件f_click。提交嵌套的login.htm
页面A的方法如下:
<script language="javascript" type="text/javascript">
function f_click() {
window.frames['loginFrame'].document.forms["form1"].submit;
}
function f_init(){
var url = "login.htm"; //跨域url
var param = "login.htm";
var ifr = document.createElement("iframe"); //以下创建一个隐藏的iframe
ifr.setAttribute("name", "loginFrame");
ifr.setAttribute("width",0);
ifr.setAttribute("height",0);
document.body.appendChild(ifr);
ifr.src=encodeURI(url);
}
login.htm如下:
<form id="form1" action="http://www.bbb.com/Login.aspx" method="post" >
<input type="hidden" name="loginid" value="1000110">
<input type="hidden" name="pwd" value="aaaaaaaa">
<input type="submit" name="submit"/>
</form>
login.htm的提交页面和页面A不是同一个域。直接运行login.htm,就能提交成功。为什么在页面提交就不行,会出现login.htm跳转后的登录页面。
求指点...
为了安全JS不能跨域提交的
没有可解决的办法吗?
$(function () {
$('#button1').click(function () {
$.getJSON("http://202.115.110.13:8088/iOffice/prg/set/wss/ioLogin.aspx?loginid=10001&pwd=aaa&jsoncallback=?",
function (data) {
alert(data);
});
});
});
我这样写有什么错误呢,提交的时候总是提示
网页错误详细信息
用户代理: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)
时间戳: Fri, 16 Sep 2011 01:45:36 UTC
消息: 语法错误
行: 1
字符: 1
代码: 0
URI: http://202.115.110.13:8088/ioffice/Login.aspx?ReturnUrl=%2fiOffice%2fdefault.aspx
结果将跨域的站点设置为可信任站点就可以跨域提交了
将跨域的站点设置为可信任站点就可以跨域提交了