nodejs和restful api服务

时间:2015-12-13 05:42:03

标签: angularjs node.js express ibm-cloud

我创建了一个没有nodejs用法的angularjs应用程序。我正在使用“chrome-add服务器扩展”在本地运行应用程序,并使用Bluemix云部署文件并运行应用程序。我在Bluemix和http.get中创建了一个java服务,以便将服务提供给我的前端。但是我有时会在前端遇到CORS的问题。所以我建议创建一个nodejs文件来获取服务并集成到angular控制器而不是http get方法。 我的问题是我不想在nodejs中创建服务器配置,只需在nodejs(app.get)中获取服务并传递给angularjs控制器。该应用已由Chrome扩展程序端口调用。

我在nodejs服务器文件中编写的代码是,

var express = require('express');

var app = express();

var express = require('express');
var app = express();

app.get('http://myblumemix-service.mybluemix.net/getDetails', function(req, res){
  //code to bind the response to angular controller
  //alert("");
  //console.log("got already running port successfully");
});

app.listen("http://127.0.0.1:8887/");

但是我无法成功地对角度控制器做出响应。

我的问题是,我们是否可以在不创建Web服务器的情况下使用nodejs,并且只将其余响应传递给angular模块。由于我是节点和角度的新手,有没有任何例子可以做到这一点?

1 个答案:

答案 0 :(得分:1)

您不能以这种方式执行您的CORS处理程序URL。您需要使用https://github.com/request/request这样的本地路径代理mybluemix URL。

示例:

var request = require('request');

app.get('/getDetails', function(req, res){
  request.get('http://myblumemix-service.mybluemix.net/getDetails').pipe(res);
});

然后Angular代码需要使用/getDetails URL而不是完整的mybluemix。