0

我正在使用订阅 SIBus jms 主题的 phonegap 编写移动应用程序。

首先,我能够在配置后运行演示,但我无法从不同的域运行它,因为应用程序必须在服务器的外部域上运行。

我对 web 服务的跨域 ajax 调用有很多问题,解决方案是将标头更改为header("Access-Control-Allow-Origin", "*"); 我正在考虑如何解决此问题以将标头更改为传入请求

dojo.require("dojox.cometd");
   dojo.addOnLoad(function(){
      dojox.cometd.init("http://localhost:9080/ClientWeb/webmsgServlet");
      dojox.cometd.subscribe("/T.Frs", window, "display");
     }
   );
   function display(msg) {
   console.log(msg);
       alert("Message " + msg.data.test);
   }
4

1 回答 1

1

看看 Jetty 的CrossOriginFilter,它是一个可移植的过滤器,您可以在任何实现 CORS 规范的 servlet 容器中运行,让您可以无缝访问跨源资源。

CometD 默认在演示中提供此过滤器,因此您可以在那里查看配置方式,或查看CometD 参考,第 5.4.1.3 节。

于 2012-05-31T06:36:31.600 回答