启动两个web服务,A是web服务,locahost:8080,启动主页.
B是nodejs服务,localhost:3000,在线聊天应用现在希望在A主页右侧挂上B服务的在线聊天应用.并进行交互使用.类似QQ聊天按钮组建那样也可以.
怎么处理?多谢nodejsWeb服务应用聊天工具

解决方案 »

  1.   

    用ajax  去跨域请求数据, 或者用iframe 也行, 不过建议用前者, 后者相对麻烦点 客户端JQuery.ajax的调用代码示例:
    01 $.ajax({
    02     type : "get",
    03     async:false,
    04     url : "http://www.xxx.com/ajax.do",
    05     dataType : "jsonp",
    06     jsonp: "callbackparam",//服务端用于接收callback调用的function名的参数
    07     jsonpCallback:"success_jsonpCallback",//callback的function名称
    08     success : function(json){
    09         alert(json);
    10         alert(json[0].name);
    11     },
    12     error:function(){
    13         alert('fail');
    14     }
    15 });
        服务端返回数据的示例代码:
    1 public void ProcessRequest (HttpContext context) {
    2     context.Response.ContentType = "text/plain";
    3     String callbackFunName = context.Request["callbackparam"];
    4     context.Response.Write(callbackFunName + "([ { name:\"John\"}])");
    5 }
      

  2.   


    不是,我不止是需要跨域取数据,我是希望直接把页面拿来挂在A服务器主页上的某个div进行操作.就好像随便一个页面右边悬浮的在线客服一样的东西.那个页面组件我是我需要从其他服务器取
      

  3.   


    不是,我不止是需要跨域取数据,我是希望直接把页面拿来挂在A服务器主页上的某个div进行操作.就好像随便一个页面右边悬浮的在线客服一样的东西.那个页面组件我是我需要从其他服务器取
    不太明白你的意思 , 举个例子,比如你A界面 端口为8080 里面有一个 悬浮的在线客服
    B界面 端口为3000 ,你如果想在B界面上对A界面的在线客户进行操作比如CURD 都是可以的,用iframe就完全可以实现,如果你是这个需求,那么用iframe怎么操作,我可以再给你提供下思路,为什么一定要把界面A界面的在线客服copy过来B界面呢,如果是这样那你还不如直接放在B界面好了,随意 的CURD,就不存在跨域不跨域的了, 你先整理下思路,想想。