Closed ShimanGleb closed 7 years ago
Мне не ясно как вы запускае ваше приложение, сервер на порту 8888, а на каком порту клиент?
Запуская ваше приложения с клиентом на порму 8080, я в Chrome DevTools вижу следующую ошибку:
XMLHttpRequest cannot load http://localhost:8888/. The 'Access-Control-Allow-Origin' header has a value 'http://localhost:8888/' that is not equal to the supplied origin. Origin 'http://localhost:8080' is therefore not allowed access.
Что сразу даёт ответ - во-первых, у вас в заголовке есть лишкой завершающий слеш /
, во-вторых Access-Control-Allow-Origin
должен указывать на Origin с которого разрешается запрос, а не адрес самого сервера.
Попробуйте сделать изменения и скажите, решился ли вопрос.
Детально о указанном заголовке и CORS можно почитать на https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
Изменения сделаны, вроде работает.
https://github.com/ShimanGleb/Browser-game
Сразу же есть вопрос: при отправке клиентом серверу xmlhttprequest запроса браузер в консоли выдаёт "Запрос из постороннего источника заблокирован: Политика одного источника запрещает чтение удаленного ресурса на http://localhost:8888/. (Причина: заголовок CORS 'Access-Control-Allow-Origin' не совпадает с 'http://localhost:8888/').", хотя на сервере 'Access-Control-Allow-Origin' у меня указан именно с 'http://localhost:8888/'. Не совсем понимаю, что я неправильно сделал.