如何检测对angularjs应用程序的传入请求是GET还是POST请求?

时间:2014-11-17 16:31:31

标签: javascript angularjs node.js

我是angularjs的新手。我为客户端使用角度种子骨架https://github.com/angular/angular-seed开发了一个angularjs应用程序。对于API服务器,我使用了expressjs服务器。

我的主页网址类似于localhost:9000 / app / index.html#/ home 所以,通常如果我点击url localhost:9000 / app / index.html#/ home我会看到我的主页。

但是,我要求某些xyz应用程序也会向我的应用程序发出POST请求。

因此,我想确定对我的角度种子应用程序的传入请求是否来自外部应用程序。

就像在PHP中一样,有一个超级全局数组$ _SERVER,您可以使用它来确定传入请求方法... angularjs中有什么东西可以确定请求方法。

我希望我的问题清楚明白。

真的很感激阅读我的问题,一些提示会很棒。

1 个答案:

答案 0 :(得分:2)

您要问的是,您希望使用Angular前端为您的API提供POST方法端点。这没有意义。

使用特定路由设置的req参数,可以在Express的API中找到PHP的$ _SERVER数组来获取传递的变量。见http://expressjs.com/4x/api.html#router.route。这是您根据请求方法创建逻辑的地方。正如本的评论所提到的那样,app.get()app.post()以及app.put()等等。

在您提到的传统PHP示例中,整个请求将发送到服务器并将页面结果返回给浏览器,因此您有机会检测到POST或GET已成功并正确地指示请求。

Angular是一个基于javascript的框架,在浏览器中运行。浏览器将使用GET请求初始下载所有html / js / css,但之后它在javascript上下文中运行,除非在Angular模块/控制器中明确编码,否则此后不涉及服务器。您可以在此处向您的API后端发出GET / POST / PUT / DELETE请求

基于用户与UI的交互,可以在javascript上下文中使用XHR(XmlHttpRequest)调用访问您的API。这些调用可以使用GET或POST等进行,具体取决于API的功能,使用角度$ http或$ resource等。