Не удается загрузить XMLHttpRequest http://domain.com:8080/socket.io/1/?t=1416289828054 Нет заголовка "Access-Control-Allow-Origin"
Я создаю приложение, используя Licode, это приложение для видеоконференций, в котором я создал комнату, хотя при вызове XMLHttpRequest не удается установить соединение с использованием XMLHttpRequest после ошибки.
XMLHttpRequest не может загрузить http://domain.com:8080/socket.io/1/?t=1416289828054. В запрошенном ресурсе отсутствует заголовок "Access-Control-Allow-Origin". Поэтому происхождение ' http://domain.com:3001/' не разрешено. Ответ имел HTTP-код состояния 404.
Я сталкиваюсь с этой проблемой, даже если я реализовал следующий код на сервере
app.use(function(req, res, next) {
"use strict";
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Origin', 'http://'+req.headers.host+':8000');
res.header("Access-Control-Allow-Headers", "X-Requested-With");
res.header('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, DELETE');
res.header('Access-Control-Allow-Headers', 'origin, content-type');
if (req.method == 'OPTIONS') {
res.send(200);
} else {
next();
}
});
Заранее спасибо за помощь.
1 ответ
Похоже, у меня была похожая проблема (все работает нормально, если я развернул ее на сервере). Прежде всего проверьте все брандмауэры и доступ к порту сокета с вашего компьютера. В моем случае проблема была с F5, смотрите здесь.
Замечания:
Поскольку F5 будет протоколом по умолчанию, идентифицированным как http, поэтому нам нужно отключить протокол http, например, когда HTTP_REQUEST { if { ([HTTP::uri] начинается_ с "/socket.io") } { HTTP::disable } }
Надеюсь, я тебе помог;)