Socket.io: リクエストのクレデンシャルモードが「include」の場合、レスポンスの「Access-Control-Allow-Origin」ヘッダーの値はワイルドカード「*」であってはなりません。 したがって、オリジン 'http:// localhost:3000'はアクセスを許可されていません。 XMLHttpRequestによって開始されたリクエストのクレデンシャルモードは、withCredentials属性によって制御されます。

作成日 2018年09月03日  ·  3コメント  ·  ソース: socketio/socket.io

皆さんこんにちは、
私はsocket.ioを初めて使用します。 NodeJs / Expressサーバーに次のコードがあります

const http = require('http');
const socketIo = require('socket.io');
const app = express();
const server = http.createServer(app);
const io = socketIo(server);

io.on('connection', socket => {
  console.log('New client connected');
  socket.on('disconnect', () => console.log('Client disconnected'));
  socket.emit('FromAPI', 'hello');
});
//My port here is 8848
app.listen(app.get('port'), () => {
  logger.log('info', `Server started at :${app.get('port')}`);
});

そして、Client Reactアプリと私のreactアプリの次のコードは、ポート3000でhttp:// localhost :3000としてホストされてい

import socketIO from 'socket.io-client';
componentDidMount() {
    const endPoint = 'http://127.0.0.1:8848';
    const socket = socketIO(endPoint);
    socket.on('FromAPI', data => console.log(data));

  }

このコードを使用すると、ブラウザコンソールで次のエラーが発生しました。
polling-xhr.js:263 GET http://127.0.0.1:8848 / socket.io /?EIO = 3&transport = polling&t = MMT-4kl 405(メソッドは許可されていません)
http://127.0.0.1:8848 / socket.io /?EIO = 3&transport = polling&t = MMT-Asoの読み込みに失敗しました:応答の「Access-Control-Allow-Origin」ヘッダーの値はワイルドカードであってはなりませんリクエストのクレデンシャルモードが「include」の場合は「*」。 したがって、 Origin'http:// localhost :3000 'へのアクセスは許可されていません。 XMLHttpRequestによって開始されたリクエストのクレデンシャルモードは、withCredentials属性によって制御されます。

誰でもこの問題で私を助けてください。

最も参考になるコメント

だから、閉じて解決策はありませんか? :(

全てのコメント3件

だから、閉じて解決策はありませんか? :(

同じ問題があり、解決策が見つかりません。

同じ問題を抱えている解決策はありません

このページは役に立ちましたか?
0 / 5 - 0 評価