Javascript AngularJS通过本地主机请求ExpressJS

Javascript AngularJS通过本地主机请求ExpressJS,javascript,angularjs,express,Javascript,Angularjs,Express,我使用AngularJS x ExpressJS创建了一个Web应用程序,其中我的app.js的GET“/”呈现应用程序的index.html 例如,我在我的app.js上获取了/test data,并试图通过localhost:port/test data从AngularJS获取这些测试数据。当这在我的测试环境中工作时,我总是必须将生产环境中的请求URL更改为生产环境的REST 是否有任何方法可以防止在部署期间编辑URL时出现上述问题 示例代码: (app.js) (MySampleServi

我使用AngularJS x ExpressJS创建了一个Web应用程序,其中我的
app.js
的GET“/”呈现应用程序的
index.html

例如,我在我的
app.js
上获取了
/test data
,并试图通过
localhost:port/test data
从AngularJS获取这些测试数据。当这在我的测试环境中工作时,我总是必须将生产环境中的请求URL更改为生产环境的REST

是否有任何方法可以防止在部署期间编辑URL时出现上述问题

示例代码:

(app.js)

(MySampleService.js)


对于URL,只需使用
/testdata
。请求自动知道使用应用程序所在的相同端口。

对于您的URL,只需使用
/test data
。请求自动知道使用应用程序所在的同一端口。

您在此处对服务中的url进行硬编码,`this.sampleURL=“localhost:3000”`@SudhansuChoudhary是否有任何方法可以发送一个声明主机URL的HTTP请求?为您的开发、测试和产品环境设置一个切换条件,返回这三个环境的主机名。根据从切换条件中获得的env值,您可以缝合主机url或服务中所需的任何url。但是,您可以使用“location.hostname”来获取主机名。第一个条件是一种理想的方法,但是第二个条件也不起作用,除非您在这里硬编码服务中的url,`this.sampleURL=“localhost:3000”`@SudhansuChoudhary是否有任何方法可以发送一个声明主机URL的HTTP请求?为您的开发、测试和产品环境设置一个切换条件,返回这三个环境的主机名。根据从切换条件中获得的env值,您可以缝合主机url或服务中所需的任何url。但是,您可以使用“location.hostname”来获取主机名。第一个条件是一种理想的操作方式,但第二个条件却无法实现!在阅读注释后,我尝试了$location.host()+“:”+$location.port()。但我认为这是最简单的处理方法。确实如此!在阅读注释后,我尝试了$location.host()+“:”+$location.port()。但我认为这是最简单的解决方法。
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 + "...");
});
.service("MySampleService", function($http) {

    this.sampleURL = "localhost:3000";    

    this.getTestData= function(){
        return $http
        (
            {
                method : "GET",
                url : "http://" + this.sampleURL + "/test-data
            }
        );
    };
});