利用ajax实现多个模块同时登陆

本文介绍了一种通过Ajax技术实现跨系统单点登录的方法,具体展示了如何利用POST请求在不同系统间传递登录信息,包括dvbbs和oblog两个系统。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

接手了一个公司以遗留下来的一个项目,里面用了两个系统,一个是dvbbs,一个是oblog,客户要求实现一个地方登陆全站通行,原来想看看dv的源码和oblog的源码,改改程序 .郁闷的是看了好久也没有弄清楚他们是咱们控制用户登陆的.后来一想干脆不管那么多了直接想两个系统的登陆也提交信息的了,只要他们对提交的地址没有限制就可以.于是想到的时下流行的ajax方法.,其实实现起来很简单,就是简单的post数据就可以了
代码如下:
function  createObj() {
//这个是用来创建xmlhttp时使IE和firefox兼容的函数
        var A=null
     
try 
     A
=new ActiveXObject("Msxml2.XMLHTTP");
     }
 
     
catch(e) 
     
try 
     A
=new ActiveXObject("Microsoft.XMLHTTP");
     }
 
     
catch(oc) 
     A
=null;
     }
 
     }
 
    
     
if ( !&& typeof XMLHttpRequest != "undefined" ) 
     A
=new XMLHttpRequest();
     }
 
     
return A;

 }

  
function  login(username,password)
  
{
//构造系统登陆时所需要的参数
  strA 
= "username="+username+"&password="+password+"&CookieDate=1&userhidden=2&comeurl=index.asp"
  strB 
= "UserName="+username+"&Password="+password+"&CookieDate=3&fromurl=index.html&action=showindexlogin&chk=1"
   strC 
= "UserName="+username+"&Password="+password+""
 
//bbs登陆
   var oReq = createObj();
  oReq.open(
"POST","login.asp?action=chk",false);
  oReq.setRequestHeader(
"Content-Length",strA.length);
  oReq.setRequestHeader(
"CONTENT-TYPE","application/x-www-form-urlencoded");
  oReq.send(strA);
  
  
//=============blog登陆=======================================
   
  oReq.open(
"POST","../blog/login.asp",false);
  oReq.setRequestHeader(
"Content-Length",strB.length);
  oReq.setRequestHeader(
"CONTENT-TYPE","application/x-www-form-urlencoded");
  oReq.send(strB);
 
      
//txt2.document.write(oReq2.responseText);
    //本系统登陆,以取得用户数据
    
    
      oReq.open(
"POST","../blog/mylogin.asp",false);
       oReq.setRequestHeader(
"Content-Length",strB.length);
       oReq.setRequestHeader(
"CONTENT-TYPE","application/x-www-form-urlencoded");
       oReq.send(strC);
    parent.location.reload();
    
  }
要注意的是不要把登陆的地址写错.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值