AngularJS通过localhost

时间:2017-03-06 09:45:02

标签: javascript angularjs express

我使用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
            }
        );
    };
});

1 个答案:

答案 0 :(得分:2)

对于您的网址,只需使用/test-data即可。请求自动知道使用托管应用程序的相同端口。