亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

CORS 和 EXPRESS - [錯誤] Access-Control-Allow-Origin

CORS 和 EXPRESS - [錯誤] Access-Control-Allow-Origin

catspeake 2023-10-14 16:49:08
我嘗試實現后端和前端應用程序,但即使我使用 cors,它也總是出現錯誤。請幫忙驗證一下下面的代碼:后端服務器.jsconst express = require('express');const http = require('http');const socketIO = require('socket.io');const app = express();const server = http.createServer(app);const io = socketIO(server);const cors = require('cors');const ds18b20 = require('ds18b20');const port = 4001;const getTemperature = require('./utils/temperature');let interval;io.on("connection", (socket) => {  console.log("New client connected");  if(interval) {    clearInterval(interval);  }  var sensorId = [];  ds18b20.sensors((err, id) => {    sensorId = id;    socket.emit('sensors', id);  });  setInterval(() => {    sensorId.forEach((id) => {      ds18b20.temperature(id, (err, value) => {        console.log(value);        socket.emit('FromAPI', {'id': id, 'value': value});      });    });  }, interval);  socket.on("disconnect", () => {    console.log("Client disconnected");    clearInterval(interval);  });});app.use((req, res, next) => {  res.setHeader("Access-Control-Allow-Origin", "*");  res.header(    "Access-Control-Allow-Headers",    "Origin, X-Requested-With, Content-Type, Accept"  );  next();});app.get('/', (req, res) => {  res.send('Hi');});server.listen(port, () => console.log(`Listening on port ${port}`));來自 create-react-app 的前端 App.jsimport React, { useState, useEffect } from 'react';import socketIOClient from 'socket.io-client';// import { Button, Input } from 'react-bootstrap';const ENDPOINT = "http://172.20.10.5:4001";const socket = socketIOClient(ENDPOINT);function App() {  const [response, setResponse] = useState("");  useEffect(() => {    socket.on("FromAPI", data => {      setResponse(data);    })  }, [])錯誤如下圖所示:[錯誤] Access-Control-Allow-Origin 不允許來源http://172.20.10.5:3000 。[錯誤] 由于訪問控制檢查, XMLHttpRequest 無法加載http://172.20.10.5:4001/socket.io/?EIO=4&transport=polling&t=NOu0oIM 。[錯誤] 無法加載資源: Access-Control-Allow-Origin 不允許Origin http://172.20.10.5:3000 。(socket.io,第 0 行)
查看完整描述

1 回答

?
慕沐林林

TA貢獻2016條經驗 獲得超9個贊

使用cors選項。

const io = socketIO(server, {

? cors: {

? ? origin: "*"

? }

})


查看完整回答
反對 回復 2023-10-14
  • 1 回答
  • 0 關注
  • 131 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號