Dans la documentation, il indique que io.origins()
prend un tableau de chaînes/origines (voir l'exemple https://socket.io/docs/server-api/#server-origins-value), alors qu'en fait c'est le cas ne pas. Cela ne fonctionne que lorsque vous fournissez une chaîne au lieu d'un tableau.
Réglage
io.origins(['http://localhost:3000'])
puis la connexion à partir de localhost:3000
ne fonctionne pas.
Cela ne fonctionne que lors de la définition io.origins('http://localhost:3000')
Je pense que le protocole ne devrait pas être inclus:
io.origins(['localhost:3000', 'localhost:3001']);
// or
io.origins('localhost:3000');
Fonctionne avec le protocole lorsqu'il est fourni sous forme de chaîne, pas lorsqu'il est fourni dans un tableau 😄
Mais merci pour la précision !
Je pense qu'il est implémenté avec un indexOf
, d'où le comportement funky.
Je vais ajouter une note dans la documentation.
Je viens de rencontrer le même problème - un tableau avec le protocole dans l'URL, par exemple io.origins([https://subdomain.domain.ee:*])
ne fonctionne pas, alors que io.origins([subdomain.domain.ee:*])
fonctionne.
Alors que l'exemple dans la documentation inclut https://
dans l'exemple de tableau : io.origins(['https://foo.example.com:443']);
.
En regardant this commit , il semble que la documentation ait été modifiée pour inclure cet exemple, mais cela m'est toujours arrivé?
J'utilisais [https://subdomain.domain.ee:*]
comme URL, ce qui ne fonctionnait pas, ni avec http://
(bien que dans mon cas, il ne devrait être accessible que via https://
toute façon). Une fois que j'ai supprimé le protocole, il a commencé à fonctionner.
Je pensais le signaler ici au cas où. Étais-je peut-être raté quelque chose?
Commentaire le plus utile
Je pense que le protocole ne devrait pas être inclus: