我使用AngularJS x ExpressJS创建了一个Web应用程序,其中GET" /"我的app.js
呈现了应用程序的index.html
。
例如,我在/test-data
上有GET app.js
,并尝试通过localhost:port/test-data
从AngularJS获取这些测试数据。虽然这对我的测试环境起作用,但我总是不得不将生产中的请求URL更改为生产的REST。
有什么方法可以防止上面描述的问题在部署期间编辑URL?
示例代码:
(适用app.js)
var express = require("express");
var app = express();
var request = require("request");
var port = 3000;
var bodyParser = require("body-parser");
app.use(express.static(__dirname));
app.use(bodyParser.json());
app.get("/", function(request, response) {
response.sendFile(__dirname + "/index.html");
});
app.get("/test-data", function(req, res, next) {
var returnValue = [
{
username : "MAIK",
fullname : "Michael"
},
{
username : "CLARK",
fullname : "Clark"
},
{
username : "ROLLY",
fullname : "Roland"
},
{
username : "FLOYDIE",
fullname : "Floyd"
},
{
username : "ZOE",
fullname : "Zoe"
}
];
res.send(returnValue);
});
app.listen(port, function() {
console.log("Listening to port " + port + "...");
});
(适用MySampleService.js)
.service("MySampleService", function($http) {
this.sampleURL = "localhost:3000";
this.getTestData= function(){
return $http
(
{
method : "GET",
url : "http://" + this.sampleURL + "/test-data
}
);
};
});
答案 0 :(得分:2)
对于您的网址,只需使用/test-data
即可。请求自动知道使用托管应用程序的相同端口。