Access to XMLHttpRequest

AidisProPlayer | 2021-03-26 19:47:52 UTC | #1

Witam mam problem związany z stroną internetową, problem dotyczy połączenia strony z socket.io

Access to XMLHttpRequest at 'http://ip:8080/socket.io/?EIO=3&transport=polling&t=NXm4jQC' from origin 'http://ip' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.


wiktorm12 | 2021-03-26 20:37:49 UTC | #2

A w jakim języku piszesz backend?
Musisz udostępnić możliwość łączenia się z nim a innych domen niż jego, jeżeli jest to express możesz do zrobić tak:

var cors = require('cors')
app.use(cors())

gdzie zmienna app to twój serwer http. Jeżeli korzystasz z innego języka napisz go tutaj będę w stanie znaleźć wtedy odpowiednią składnie bCi to działało


AidisProPlayer | 2021-03-26 20:41:39 UTC | #3

JavaScript

const express = require('express');
var app = express();
var siteUrl = "ip";
var io = require('socket.io')(server);
var cors = require('cors')
app.use(cors())

Po dodaniu nic się nie zmieniło.


wiktorm12 | 2021-03-26 21:06:49 UTC | #4

Po pierwsze jeżeli jest to cały twój kod, to coś jest nie tak, ponieważ zmienna server nie jest nigdzie zdefiniowana, ale jeżeli definiujesz ją gdzieś wyżej, to spróbuj właśnie do niej przypisać

.use(cors())


AidisProPlayer | 2021-03-27 12:58:52 UTC | #5

[quote=”AidisProPlayer, post:3, topic:18475”]

var cors = require('cors')

[/quote]

Trochę więcej kodu

var config = require(‘./config’);
var fs = require(‘fs’);
var html = ‘<!DOCTYPE html> 127.0.0.1 - websocket

Cookies? Cookies!
‘;
var server = require(‘http’).createServer(function(request, response) {
response.writeHeader(200, {“Content-Type”: “text/html”});
response.write(html);
response.end();
});
const express = require(‘express’);
var app = express();
var siteUrl = “ip”;//website domain or ip
const io = require(“socket.io”)({
allowEIO3: true // false by default
});

Gdzie to zdefiniować?


system | 2021-04-27 21:09:47 UTC | #6

Ten temat został automatycznie zamknięty 32 dni po ostatnim wpisie. Tworzenie nowych odpowiedzi nie jest już możliwe.