sso中子系统之间用post方式通信
2017-02-21 10:27
218 查看
由A和B两个系统组成的sso站点中,A系统的网址为http://a.domin.com:8899,B系统的网址为http://b.domin.com:9876.
//B系统后台的test方法
public void test(HttpServletRequest request,HttpServletResponse response) throws Exception
{
//String data = (String) request.getParameter("data");//取参数
//业务处理略
response.setContentType("application/json; charset=UTF-8");
response.setHeader("Access-Control-Allow-Origin", "http://b.domin.com:9876");//如果有端口必须加上
response.setHeader("Access-Control-Allow-Credentials", "true");
response.setHeader("Access-Control-Allow-Methods", "GET,POST");
response.setHeader("Access-Control-Allow-Headers",
"Content-Type, Content-Range, Content-Disposition, Content-Description");
response.getWriter().write("{\"state\":1,\"msg\":\"ok\"}");
return;
}
//A系统页面部分调用B系统的test方法可以用如下代码:
function test(){
var contentType ="application/x-www-form-urlencoded; charset=utf-8";
if(window.XDomainRequest){//for IE8,IE9
contentType = "text/plain";
}
$.ajax({
url : "test",//test方法的访问路径
data:{id:1,age:22},
type : "POST",
dataType : "json",
xhrFields: {
withCredentials: true
},
crossDomain: true,
contentType:contentType,
success : function(data) {
alert(data.state);
},
error : function(data){
alert(2);
}
});
}
//B系统后台的test方法
public void test(HttpServletRequest request,HttpServletResponse response) throws Exception
{
//String data = (String) request.getParameter("data");//取参数
//业务处理略
response.setContentType("application/json; charset=UTF-8");
response.setHeader("Access-Control-Allow-Origin", "http://b.domin.com:9876");//如果有端口必须加上
response.setHeader("Access-Control-Allow-Credentials", "true");
response.setHeader("Access-Control-Allow-Methods", "GET,POST");
response.setHeader("Access-Control-Allow-Headers",
"Content-Type, Content-Range, Content-Disposition, Content-Description");
response.getWriter().write("{\"state\":1,\"msg\":\"ok\"}");
return;
}
//A系统页面部分调用B系统的test方法可以用如下代码:
function test(){
var contentType ="application/x-www-form-urlencoded; charset=utf-8";
if(window.XDomainRequest){//for IE8,IE9
contentType = "text/plain";
}
$.ajax({
url : "test",//test方法的访问路径
data:{id:1,age:22},
type : "POST",
dataType : "json",
xhrFields: {
withCredentials: true
},
crossDomain: true,
contentType:contentType,
success : function(data) {
alert(data.state);
},
error : function(data){
alert(2);
}
});
}
相关文章推荐
- 系统入门(4):Android Service与Activity之间通信的几种方式
- JAVA系统之间通信方式总结
- Android中子线程和UI线程之间通信的方式(Handler与Thread-附源码)
- Android 多线程之间的通信交互(Ui线程与子线程之间的通信)Handler,Handler.post(Runnable runnable),runUiThread方式
- 系统间通信方式之(ActiveMQ的基础使用参数详解2)(十三)
- Android Service与Activity之间通信的几种方式
- [分布式java]基于JavaAPI实现消息方式的系统间通信:TCP/IP+NIO
- 多进程和多线程之间的通信方式及通信实现步骤小结
- 大型网站系统架构实践(二)分布式模块之间的通信
- 使用http的post方式与网络交互通信
- Android Service与Activity之间通信的几种方式
- 在Android系统使用socket在Java层和native之间数据通信
- 系统间通信方式之(Kafka的集群方案介绍2)(二十一)
- Service 与 Activity之间的通信新方式
- Android之Activity之间的数据通信方式大全(一)
- Android Telephony系统 之 DataConnectionTracker与MobileDataStateTracker之间的通信
- Android Service与Activity之间通信的几种方式
- AngularJS控制器之间的通信方式详解
- 通过portlet主动请求方式获得和portal通过LTPA方式集成的系统的登陆后某个页面的特定信息(portal SSO)
- Android Service与Activity之间通信的几种方式