问题描述 :
近期在整合一些系统的时候遇到一些问题:
现在有系统A,B,C 。 登录界面在A系统上,现在在A系统上添加三个按钮,将一个表单,根据按钮的不同提交到不同项目的Action上。
1.方案一 jquery POST 利用Ajax验证用户是否存在并且根据验证结果跳转到用户登录成功的页面
项目A,B,C在同一台服务器上部署,但是端口号不同
项目A端口号 80 ,B 8080 ,C 8081
var paras = $('#loginid').serialize();
$.post(globalURL,paras
function (data, textStatus){
var retValue = unescape(data.returnValue);
if('success'==retValue){
window.location= http://192.168.1.101:8080/”+ "pane_srpmis/true";";
}else if('delegate'==retValue){
window.location= “http://192.168.1.101:8080/”+ "pane_srpmis/true";
}
else{
alert(retValue);
closeWin();
}
这种方法在IE10 浏览器上,360 ,搜狗浏览器上都测试成功。
但是在firefox25.01上测试失败。
经过找度娘查询:发现原来是不同域之间的不能这样访问。
后来解决方案是 :
function save()
{
document.form1.action="http://localhost:8080/test2/index.jsp";
document.form1.submit();
}
然后在test2的index.jsp页面中设置隐藏一个Form 然后根据onload 加载事件触发后将表单提交到B系统的所需要的页面。