grsu / web-dev

Modern web applications development / Современные технологии разработки веб-приложений
13 stars 8 forks source link

Проект: браузерная игра. Шиман #93

Closed ShimanGleb closed 7 years ago

ShimanGleb commented 8 years ago

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/'. Не совсем понимаю, что я неправильно сделал.

irnc commented 8 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

ShimanGleb commented 8 years ago

Изменения сделаны, вроде работает.