gpt4 book ai didi

ajax - 在同一域中托管两个网站

转载 作者:行者123 更新时间:2023-11-28 22:31:29 25 4
gpt4 key购买 nike

我有两个名为 opentripplanner-webapp 和 opentripplanner-api-webapp 的应用程序。我已成功将它们部署在本地 tomcat 服务器上。应用程序的 url 为 http://localhost:8080/opentripplanner-webapphttp://localhost:8080/opentripplanner-api-webapp。当我在 appfog 上部署应用程序时,它们为我提供了两个应用程序的不同域。问题是我的应用程序使用在跨域上不起作用的 ajax 请求和响应。我正在搜索两天以找到任何解决方案,但没有找到任何合适的解决方案。请指导我。谢谢

最佳答案

这里有几个选项供您选择:

  • 使用JSONP (JSON with Padding) .您必须编写您的 api 以使其支持此协议(protocol),但这应该不会太难。
  • 同时创建 opentripplanner-webappopentripplanner-api-webapp 以便它们支持 Cross Origin Resource Sharing .这意味着您的 webapp 在请求中发送一个 Origin header ,服务器以一个 Access-Control-Allow-Origin header 响应,如果它们匹配,则浏览器接受要求。然而,这是 not supported by all browsers ,尽管大多数现代浏览器都支持。
  • 在您的 opentripplanner-webapp 中使用代理 servlet 来代理对您的 API 的请求。您可以在例如“挂载”这个 servlet。 /api 在 webapp 中,它会在内部将所有请求转发到 opentripplanner-api-webapp。因此,您会将 AJAX 请求发送到 http://webappserver/api 而不是 http://apiserver。对于浏览器,这看起来像是一个普通的同源请求。这适用于所有浏览器,但可能需要更多设置。

关于ajax - 在同一域中托管两个网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16129454/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com