私はapp.js
のGET "/"がアプリケーションのindex.html
をレンダリングするAngularJS x ExpressJSを使用してWebアプリケーションを作成しました。AngularJS Express to Localhost経由で
たとえば、app.js
にGET /test-data
があり、AngularJSからこれらのテストデータをlocalhost:port/test-data
経由で取得しようとしています。これは私のテスト環境で動作していますが、プロダクションのリクエストURLをプロダクションのRESTに変更する必要がありました。
上記のURLの編集中に問題が発生するのを防ぐことができますか?
サンプルコード:あなたの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
}
);
};
});
ここであなたのサービスのURLをハードコーディングしています、 'this.sampleURL =" localhost:3000 ";' –
@SudhansuChoudharyホストURLを宣言するHTTPリクエストを送信する方法はありますか? –
には、dev、test、prod環境のスイッチ条件があり、これら3つのenvのホスト名が返されます。スイッチの状態から取得したenv値に基づいて、ホストURLまたはサービスに必要なURLをステッチします。しかし、 "location.hostname"を使用してホスト名を取得することができます。 –