Ajax 在同一个域上托管两个网站
我有两个应用程序名为opentripplanner webapp和opentripplanner api webapp。我已经在本地tomcat服务器上成功地部署了它们。应用程序的url为Ajax 在同一个域上托管两个网站,ajax,tomcat,tomcat7,openshift,appfog,Ajax,Tomcat,Tomcat7,Openshift,Appfog,我有两个应用程序名为opentripplanner webapp和opentripplanner api webapp。我已经在本地tomcat服务器上成功地部署了它们。应用程序的url为http://localhost:8080/opentripplanner-webapp和http://localhost:8080/opentripplanner-api webapp。当我在appfog上部署应用程序时,它们会为这两个应用程序提供不同的域。问题是我的应用程序使用ajax请求和响应,这在跨域上
http://localhost:8080/opentripplanner-webapp
和http://localhost:8080/opentripplanner-api webapp
。当我在appfog上部署应用程序时,它们会为这两个应用程序提供不同的域。问题是我的应用程序使用ajax请求和响应,这在跨域上不起作用。我找了两天的时间来寻找解决方案,但没有找到合适的解决方案。请引导我。
谢谢这里有几个选项供您选择:
- 使用。您必须编写api以使其支持此协议,但这不会太困难
- 创建
和opentripplanner webapp
,以便它们支持。这意味着您的webapp在请求中发送一个opentripplanner api webapp
头,服务器用Origin
头响应,如果它们匹配,浏览器接受请求。然而,尽管大多数现代浏览器都是这样做的Access Control Allow Origin
- 在opentripplanner Web应用程序中使用代理servlet,代理对API的请求。您可以在webapp中的
等位置“装载”此servlet,它将在内部将所有请求转发给opentripplanner api webapp。因此,您可以将AJAX请求发送到/api
而不是http://webappserver/api
。对于浏览器,这看起来像一个普通的同源请求。这将适用于所有浏览器,但可能需要更多的设置http://apiserver