2013-04-21 86 views
1

我有两个名为opentripplanner-webapp和opentripplanner-api-webapp的应用程序。我已经成功地将它们部署在本地tomcat服务器上。应用的网址为http://localhost:8080/opentripplanner-webapphttp://localhost:8080/opentripplanner-api-webapp。当我在appfog上部署应用程序时,他们为这两个应用程序提供了不同的域。问题是我的应用程序使用ajax请求和响应,这在跨域不起作用。我正在寻找两天来找到任何解决方案,但没有找到任何合适的解决方案。请引导我。 Thankss在同一个域上托管两个网站

回答

0

这里有几个选项供您:

  • 使用JSONP (JSON with Padding)。你将不得不写你的api,所以它支持这个协议,但它不应该太难。因此它们支持Cross Origin Resource Sharing。这意味着您的web应用程序在请求中发送Origin标头,并且服务器回应Access-Control-Allow-Origin标头,如果它们匹配,则浏览器接受请求。然而,这是not supported by all browsers,尽管大多数现代浏览器都这样做。
  • 在opentripplanner-webapp中使用代理servlet,将代理请求代理到您的API。你可以在例如“安装”这个servlet。 /api,它会在内部将所有请求转发到opentripplanner-api-webapp。所以你会发送你的AJAX请求到http://webappserver/api而不是http://apiserver。对于浏览器来说,这看起来像是一个普通的相同原点请求。这将适用于所有浏览器,但可能需要更多设置。
相关问题