私は本当に理解していないという問題があります。私はサーバがindex.html
ページ(これは実際には角度があります)のnode js
サーバを持っています。私のサーバーのコードは次のようになります。ノードjsでCORSを有効にする方法は?
var express = require('express');
var app = express();
var cors = require('cors')
var port = 4000;
var path = require("path");
var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json());
app.use(express.static('.'))
console.log(__dirname + '/.');
app.use(cors({
origin: true,
credentials: true
}));
app.get("/", function(res, req){
req.sendFile(path.join('/index.html'));
});
app.listen(port,'0.0.0.0' , function(){
console.log("listening on * "+ port);
});
I私のhtmlページ、私が持っているとlocalhost:7000
にアクセスしているlocalhost:7000
とsocket.io
にアクセスしているサービスをangularjs。 私のサービスは次のようになります。
if(param){
$scope.isloading = true;
$http.post(
'http://' + $location.host() + ':7000/container',
{ "method": "start", "nomber": param } ,
{}
).then(function(err, data){
console.log("No error : ");
console.log(data);
if (err){
console.log(err);
}
$scope.isloading = false;
console.log("end Loading" + $scope.isloading);
}, function(err, data){
$scope.isloading = false;
console.log("error ");
});
}
とsocket.ioへのHTML呼び出しはこれです:
<script>var socket = io.connect('http://localhost:7000');
socket.on("news", function(data){
console.log(data);
});</script>
私の問題は、私は同時にangular service
とsocket.io call
を許可することができませんということです。私はCORSをクロムにインストールしました。有効にすると、socket.ioは動作しませんが、service
が動作します。 。私がそれを無効にするとサービスは動作せず、socket.io
はです。解決策を見つけるのを助けてくれますか?
更新 私は多くのソリューションを提案しましたhereを提案しました。しかし、彼らは私のために働かない。
私はこれらすべてのソリューションを試しましたが、どれも私のために働いていないようです。 – dmx