我做了一个小的gwt应用程序并发布了它,但是今天我发现了一个严重的问题。我意识到同源策略问题,因此我将 gwt 应用程序和其余 json 应用程序放在同一服务器上。但显然浏览器不考虑http://www.xyz.com and http://xyz.com作为相同的来源,因此当用户登陆 www.xyz.com 时,他无法从中获取数据http://xyz.com.
这是消息:
XMLHttpRequest cannot load http://xyz.com/backend/...
Origin http://www.xyz.com is not allowed by Access-Control-Allow-Origin.
处理这个问题的最佳方法是什么?我用谷歌搜索并首先找到了 .htaccess 解决方案,该解决方案不适用于 tomcat。我最终使用了一个空的登陆页面index.html,仅重定向到没有www的url。这不是最好的解决方案,因为有人仍然可以输入带有 www 的 url,但它不会进入索引页面,因此不会被重定向。
任何帮助将不胜感激。
除非绝对必要,否则不应在应用程序中使用绝对 URL。
IE。如果可以从以下位置加载应用程序,您的代码中应该包含“http://example.com”http://www.example.com.
例如,如果您想从以下位置加载一些数据:http://example.com/abc/def,然后把"/abc/def"
在你的代码中,not "http://example.com/abc/def"
。这样,浏览器就会将 URL 解析为http://www.example.com/abc/def如果应用程序已从以下位置加载http://www.example.com, or to http://example.com/abc/def如果它是从加载的http://example.com。而且您永远不会冒险遵守同源策略。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)