我正在尝试开发一个可以与其他Web应用程序通信的Web应用程序。 App1是一个使用Angular.js和Struts2开发的应用程序。此应用程序的唯一目的是在多个数据库上执行搜索查询,并返回有关产品的信息供用户查看。 App2,我正在开发的当前应用程序,将使用Angular.js和Flask / Python开发。该应用程序将负责存储用户在购物车中选择的产品并允许用户进行购买。
我很困惑如何让两个应用程序相互通信(传递登录信息,选择的项目ID等)。
我尝试通过网址重定向(http://www.example.com/?myVar=someData&..)传递信息。但是Angular给我带来了很多麻烦,试图解决这个问题。即使我可以让它工作,我认为这将是不安全的,因为用户不应该知道的数据将在网址中公开。
我的第二个想法是以某种方式从App2中的App1访问会话数据,但这也可能导致安全问题。
我最后的想法是如何调用App1返回一个可以在App2中解析的json对象,但我不完全确定如何传递这些信息。
如何让两个应用程序相互通信?
感谢您的帮助
答案 0 :(得分:1)
在我看来,这并不属于AngularJS的范畴。但是,我相信当今Web应用程序之间进行通信的最佳,最常见的做法是RESTful Web服务。
这不是一个小主题,但是一旦你掌握了它背后的概念,你就可以在支持Web应用程序的任何编程语言中使用它(Java我假设你& #39;因为struts使用了多个REST库,我更喜欢Jersey,但那只是我。)
使用Angular前端与自己的后端交谈也是一种惊人的方式。整个Angular $资源框架是围绕使用RESTful服务的想法构建的。
查看维基百科上的这个链接,了解服务RESTful的简要概述:http://en.wikipedia.org/wiki/Representational_state_transfer#Applied_to_web_services
现在,这适用于您提出的大部分内容。就登录信息而言,这取决于您的安全实施。很多时候,您可以将这样的信息放在Web服务请求的标题中,并且只接受来自可信服务器等的请求,但是在那里可以理解很多东西。这是一个完全独立的话题。
希望这有助于您入门。如果您想了解更多信息或指示,请与我们联系。