跨域调用方法_iframe
来源:互联网 发布:centos7 nginx nagios 编辑:程序博客网 时间:2024/05/23 13:13
需求:跨域登陆,判断登陆是否成功在另外一台服务器上。
1、html文件
<div id="framediv">
<iframe id='iframe' name='iframe' width='1px' height='1px' style='display:none'></iframe>
</div>
2、js文件
//动态创建form
function post(url, params) {
//createIframe();
var tempForm = document.createElement("form");
tempForm.action = url;
tempForm.method = "post";
tempForm.style.display = "none";
tempForm.target = "iframe"; //这里的iframe要与html文件中的id名一致
for (var x in params) {
var opt = document.createElement("input");
opt.name = x;
opt.value = params[x];
// alert(opt.name)
tempForm.appendChild(opt);
}
document.body.appendChild(tempForm);
tempForm.submit();
callback(); //这里一定要调用,否则 下面的onreadystatechange方法在最后页面加载完后不会执行。
}
//动态创建iform
function createIframe(){
var iframediv = document.createElement("div");
iframediv.id = "iframediv";
iframediv.innerHTML = "<iframe id='iframe' name='iframe' width='1px' height='1px' style='display:none'></iframe>"
document.body.appendChild(iframediv);
}
//取得返回值
function callback(){
var oFrm = document.getElementById("iframe");
oFrm.onload = oFrm.onreadystatechange = function() {
if (this.readyState && this.readyState != 'complete') return ;
else{
/* 登陆后取返回页的内容
if (document.all){//IE
var sub_con = document.frames["iframe"].document;
//alert(sub_con.body.innerHTML);
}else{//Firefox
var sub_con = document.getElementById("iframe").contentDocument;
}
//sub_con = sub_con.body.innerHTML; //取得返回值
var uname = "";
var ele = sub_con.getElementById("uname");
if(ele!=null)
uname = ele.innerHTML; //取得返回值
if(uname!=""){
alert("登陆成功!");
}else{
alert("用户名或密码错误!");
}
*/
//在登陆后,去cookie中查看ticket信息
var ticket = $.cookie('ticket');
if(ticket !=null && ticket !=''){
alert("登陆成功!");
}else{
alert("用户名或密码错误!");
}
}
}
}
1、html文件
<div id="framediv">
<iframe id='iframe' name='iframe' width='1px' height='1px' style='display:none'></iframe>
</div>
2、js文件
//动态创建form
function post(url, params) {
//createIframe();
var tempForm = document.createElement("form");
tempForm.action = url;
tempForm.method = "post";
tempForm.style.display = "none";
tempForm.target = "iframe"; //这里的iframe要与html文件中的id名一致
for (var x in params) {
var opt = document.createElement("input");
opt.name = x;
opt.value = params[x];
// alert(opt.name)
tempForm.appendChild(opt);
}
document.body.appendChild(tempForm);
tempForm.submit();
callback(); //这里一定要调用,否则 下面的onreadystatechange方法在最后页面加载完后不会执行。
}
//动态创建iform
function createIframe(){
var iframediv = document.createElement("div");
iframediv.id = "iframediv";
iframediv.innerHTML = "<iframe id='iframe' name='iframe' width='1px' height='1px' style='display:none'></iframe>"
document.body.appendChild(iframediv);
}
//取得返回值
function callback(){
var oFrm = document.getElementById("iframe");
oFrm.onload = oFrm.onreadystatechange = function() {
if (this.readyState && this.readyState != 'complete') return ;
else{
/* 登陆后取返回页的内容
if (document.all){//IE
var sub_con = document.frames["iframe"].document;
//alert(sub_con.body.innerHTML);
}else{//Firefox
var sub_con = document.getElementById("iframe").contentDocument;
}
//sub_con = sub_con.body.innerHTML; //取得返回值
var uname = "";
var ele = sub_con.getElementById("uname");
if(ele!=null)
uname = ele.innerHTML; //取得返回值
if(uname!=""){
alert("登陆成功!");
}else{
alert("用户名或密码错误!");
}
*/
//在登陆后,去cookie中查看ticket信息
var ticket = $.cookie('ticket');
if(ticket !=null && ticket !=''){
alert("登陆成功!");
}else{
alert("用户名或密码错误!");
}
}
}
}
- 跨域调用方法_iframe
- xmlhttprequest 跨域调用的方法
- ajax跨域调用webservice方法实例
- CORS跨域及调用方法
- js跨框架调用方法
- thinkphp跨模块调用方法
- thinkphp跨模块调用方法
- ThinkPHP跨控制器调用方法
- ThinkPHP跨控制器调用方法
- 去掉iframe横向滚动条_iframe滚动条
- 去掉iframe横向滚动条_iframe滚动条
- 全屏功能_iframe内置框内显示全屏
- Silverlight2 跨域调用Web服务的方法
- Silverlight2 跨域调用Web服务的方法
- 跨域调用iframe父页面的方法
- 跨域调用报表展现页面的flash打印方法
- 方法调用
- 方法调用
- mysql新建用户,授权,删除用户
- Python yield 使用浅析
- 杨辉三角形
- 《Practical WPF Charts and Graphics 》翻译——之11章 曲线拟合(2)
- SWT Designer与Eclipse集成
- 跨域调用方法_iframe
- YARN ResourceManager failover机制
- backbone.js是mvc架构吗?
- RequireJS 与 SeaJS 的异同
- git服务器的搭建
- 设计模式C++实现(5)——桥接模式
- 市场营销学5——消费者购买行为分析
- ThreadAbortException when running two tests in parallel, one taking over 30 seconds
- 16_1小心地放开玩字符串/字符数组