Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Menyelesaikan Ralat CORS dalam Node.js dengan Express?

Bagaimana untuk Menyelesaikan Ralat CORS dalam Node.js dengan Express?

Patricia Arquette
Patricia Arquetteasal
2024-11-28 01:00:14856semak imbas

How to Solve CORS Errors in Node.js with Express?

Cara Mendayakan CORS Node.js dengan Express

Penerangan Masalah

Cross-Origin Ralat Perkongsian Sumber (CORS) berlaku apabila aplikasi yang berjalan pada asal yang berbeza cuba mengakses sumber daripada pelayan pada asal berbeza. Apabila menggunakan cornerstone.js untuk mendapatkan semula fail DICOM daripada perkhidmatan WADO, ralat ini boleh timbul disebabkan oleh ketidakpadanan port antara perkhidmatan DICOM (berjalan pada port 8080) dan aplikasi klien (berjalan pada port 3000).

Penyelesaian

Untuk mendayakan CORS dalam aplikasi Node.js menggunakan Express, ikuti ini langkah:

1. Pasang CORS Middleware:

npm install cors --save

2. Tambahkan CORS Middleware pada Apl Ekspres:

Import cors dan modul ekspres, cipta apl Ekspres dan dayakan CORS secara global menggunakan kaedah use().

const cors = require('cors');
const express = require('express');
const app = express();

app.use(cors());

Nota Tambahan:

  • Perisian tengah cors() menambah yang berikut pengepala kepada semua respons:

    • Access-Control-Allow-Origin: * (membenarkan permintaan dari mana-mana asal)
    • Access-Control-Allow-Headers: Content-Type,Authorization ( membenarkan tajuk tertentu masuk permintaan)
    • Access-Control-Allow-Methods: GET,POST,PUT,PATCH,DELETE,OPTIONS (membenarkan kaedah HTTP tertentu)
  • Penyelesaian ini membenarkan CORS untuk semua permintaan kepada apl Express, termasuk port 8080 di mana fail DICOM berada diambil semula.
  • Jika anda memerlukan kawalan yang lebih terperinci ke atas tetapan CORS, anda boleh menghantar pilihan kepada perisian tengah cors(). Rujuk dokumentasi pakej cors npm untuk butiran.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat CORS dalam Node.js dengan Express?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn