Why not login to Qiita and try out its useful features?

We'll deliver articles that match you.

You can read useful information later.

103
46

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ใ‚ชใƒชใ‚ธใƒณ้–“ใƒชใ‚ฝใƒผใ‚นๅ…ฑๆœ‰ (CORS)ใจใฏ

Last updated at Posted at 2023-05-24

ใฏใ˜ใ‚ใซ

็ง่‡ช่บซใ€ไปฅๅ‰SPAใ‚ขใƒ—ใƒชใ‚ฑใƒผใ‚ทใƒงใƒณใ‚’ไฝœใฃใฆใ„ใ‚‹ๆœ€ไธญใซใ‚ชใƒชใ‚ธใƒณ้–“ใƒชใ‚ฝใƒผใ‚นๅ…ฑๆœ‰ (CORS)ใซ้–ขใ™ใ‚‹ใ‚จใƒฉใƒผใซใ‹ใชใ‚Šใฏใพใฃใฆใ—ใพใฃใŸใฎใงใ€้–ข้€ฃ็”จ่ชžใ‚’ๆ•ด็†ใ—ใ€็†่งฃใ‚’ๆทฑใ‚ใ‚‹ใŸใ‚ใซใ“ใฎ่จ˜ไบ‹ใ‚’ๆ›ธใใ“ใจใซใ—ใพใ—ใŸใ€‚
ไปฅ้™ใฎๆ–‡็ซ ใงใฏใ‚ชใƒชใ‚ธใƒณ้–“ใƒชใ‚ฝใƒผใ‚นๅ…ฑๆœ‰ (CORS)ใ‚’็œ็•ฅใ—ใฆCORSใจๆ˜Ž่จ˜ใ—ใพใ™ใ€‚

ใ‚ชใƒชใ‚ธใƒณใจใฏ

CORSใฎ่งฃ่ชฌใซๅ…ฅใ‚‹ๅ‰ใซใ€ใพใšใ‚ชใƒชใ‚ธใƒณใจใ„ใ†ใ‚‚ใฎใ‹ใ‚‰่งฃ่ชฌใ—ใพใ™ใ€‚
MDNใงใฏไปฅไธ‹ใฎใ‚ˆใ†ใซๅฎš็พฉใ•ใ‚Œใฆใ„ใพใ™ใ€‚

ใ‚ฆใ‚งใƒ–ใ‚ณใƒณใƒ†ใƒณใƒ„ใฎใ‚ชใƒชใ‚ธใƒณ (Origin) ใฏใ€ใ‚ฆใ‚งใƒ–ใ‚ณใƒณใƒ†ใƒณใƒ„ใซใ‚ขใ‚ฏใ‚ปใ‚นใ™ใ‚‹ใŸใ‚ใซไฝฟใ‚ใ‚Œใ‚‹ URL ใฎ ใ‚นใ‚ญใƒผใƒ  ๏ผˆใƒ—ใƒญใƒˆใ‚ณใƒซ๏ผ‰ใ€ ใƒ›ใ‚นใƒˆ ๏ผˆใƒ‰ใƒกใ‚คใƒณ๏ผ‰ใ€ ใƒใƒผใƒˆ็•ชๅท ใซใ‚ˆใฃใฆๅฎš็พฉใ•ใ‚Œใพใ™ใ€‚ใ‚นใ‚ญใƒผใƒ ใ€ใƒ›ใ‚นใƒˆใ€ใƒใƒผใƒˆ็•ชๅทใŒใ™ในใฆไธ€่‡ดใ—ใŸๅ ดๅˆใฎใฟใ€ 2 ใคใฎใ‚ชใƒ–ใ‚ธใ‚งใ‚ฏใƒˆใฏๅŒใ˜ใ‚ชใƒชใ‚ธใƒณใงใ‚ใ‚‹ใจ่จ€ใˆใพใ™ใ€‚

็ซฏ็š„ใซ่จ€ใ†ใจใ€URLๅ†…ใฎใ€Œใ‚นใ‚ญใƒผใƒ ๏ผ‹FQDN(ใƒ›ใ‚นใƒˆ+ใƒ‰ใƒกใ‚คใƒณ)๏ผ‹ใƒใƒผใƒˆ็•ชๅทใ€ใฎใ“ใจใงใ™ใ€‚

ใ‚นใ‚ฏใƒชใƒผใƒณใ‚ทใƒงใƒƒใƒˆ (1194).png

ไธŠๅ›ณใ ใจhttps://www.aaa.com:443ใŒใ‚ชใƒชใ‚ธใƒณใจใ„ใ†ใ“ใจใซใชใ‚Šใพใ™ใ€‚
ใ—ใ‹ใ—ไธ€่ˆฌ็š„ใซใƒใƒผใƒˆ็•ชๅทใฏ็œ็•ฅใ•ใ‚Œใ‚‹ใฎใงใ€https://www.aaa.comใพใงใ‚’ใ‚ชใƒชใ‚ธใƒณใจใ—ใฆๆ‰ฑใ„ใพใ™ใ€‚

ๆฌกใซใ€CORSใจๅˆ‡ใฃใฆใ‚‚ๅˆ‡ใ‚Š้›ขใ›ใชใ„้–ขไฟ‚ใงใ‚ใ‚‹ๅŒไธ€ใ‚ชใƒชใ‚ธใƒณใƒใƒชใ‚ทใƒผ(SOP)ใซใคใ„ใฆ่งฃ่ชฌใ—ใพใ™ใ€‚

ๅŒไธ€ใ‚ชใƒชใ‚ธใƒณใƒใƒชใ‚ทใƒผ(SOP)ใจใฏ

MDNใงใฏ

ๅŒไธ€ใ‚ชใƒชใ‚ธใƒณใƒใƒชใ‚ทใƒผใฏ้‡่ฆใชใ‚ปใ‚ญใƒฅใƒชใƒ†ใ‚ฃใฎไป•็ต„ใฟใงใ‚ใ‚Šใ€ใ‚ใ‚‹ใ‚ชใƒชใ‚ธใƒณใซใ‚ˆใฃใฆ่ชญใฟ่พผใพใ‚ŒใŸๆ–‡ๆ›ธใ‚„ใ‚นใ‚ฏใƒชใƒ—ใƒˆใŒใ€ไป–ใฎใ‚ชใƒชใ‚ธใƒณใซใ‚ใ‚‹ใƒชใ‚ฝใƒผใ‚นใซใ‚ขใ‚ฏใ‚ปใ‚นใงใใ‚‹ๆ–นๆณ•ใ‚’ๅˆถ้™ใ™ใ‚‹ใ‚‚ใฎใงใ™ใ€‚

็ซฏ็š„ใซ่จ€ใ†ใจใ€ๅŒไธ€ใ‚ชใƒชใ‚ธใƒณใƒใƒชใ‚ทใƒผ(SOP)ใจใฏใ€ใ€Žใ‚ใ‚‹ใ‚ชใƒชใ‚ธใƒณใ‹ใ‚‰ๅ–ๅพ—ใ—ใŸใƒชใ‚ฝใƒผใ‚นใ‹ใ‚‰ใ€ๅˆฅใฎใ‚ชใƒชใ‚ธใƒณใฎใƒชใ‚ฝใƒผใ‚นใธใฎใ‚ขใ‚ฏใ‚ปใ‚นใ‚’็ฆๆญขใ™ใ‚‹ใƒ–ใƒฉใ‚ฆใ‚ถใฎๆฉŸ่ƒฝใ€ใฎใ“ใจใงใ™ใ€‚

ใ‚นใ‚ฏใƒชใƒผใƒณใ‚ทใƒงใƒƒใƒˆ (1193).png

  • aใ‹ใ‚‰ใƒชใ‚ฝใƒผใ‚นAใซใ‚ขใ‚ฏใ‚ปใ‚นใ—ใŸๅ ดๅˆใฏๅ–ๅพ—ใซๆˆๅŠŸใ€‚
  • aใ‹ใ‚‰ใƒชใ‚ฝใƒผใ‚นBใซใ‚ขใ‚ฏใ‚ปใ‚นใ—ใŸๅ ดๅˆใฏๅ–ๅพ—ใซๅคฑๆ•—ใ€‚

ใคใพใ‚Šใ€https://aaa.com/ใ‹ใ‚‰ๅ–ๅพ—ใ—ใŸaใƒšใƒผใ‚ธใซใŠใ„ใฆใ€ๅŒใ˜ใ‚ชใƒชใ‚ธใƒณใงใ‚ใ‚‹https://aaa.com/Aใฎใƒชใ‚ฝใƒผใ‚นAใฏๅ–ๅพ—ใ—ใฆ็”ป้ขใซ่กจ็คบใงใใ‚‹ใฎใซๅฏพใ—ใ€็•ฐใชใ‚‹ใ‚ชใƒชใ‚ธใƒณใงใ‚ใ‚‹https://bbb.com/Bใฎใƒชใ‚ฝใƒผใ‚นBใฏๅ–ๅพ—ใงใใšใซ็”ป้ขใซ่กจ็คบใ•ใ‚Œใชใ„ใจใ„ใ†ใ“ใจใซใชใ‚Šใพใ™ใ€‚ใ“ใ‚ŒใŒๅŒไธ€ใ‚ชใƒชใ‚ธใƒณใƒใƒชใ‚ทใƒผ(SOP)ใงใ™ใ€‚

ใกใชใฟใซใ€SOPใจใฏใ€ŽSame-Origin Policyใ€ใฎ็•ฅใซใชใ‚Šใพใ™ใ€‚

ใ„ใ‚ˆใ„ใ‚ˆๆœฌ้กŒใฎCORSใซใคใ„ใฆ่งฃ่ชฌใ—ใพใ™ใ€‚

CORSใจใฏ

MDN ใงใฏ

ใ‚ชใƒชใ‚ธใƒณ้–“ใƒชใ‚ฝใƒผใ‚นๅ…ฑๆœ‰ (Cross-Origin Resource Sharing, CORS) ใฏใ€่ฟฝๅŠ ใฎ HTTP ใƒ˜ใƒƒใƒ€ใƒผใ‚’ไฝฟ็”จใ—ใฆใ€ใ‚ใ‚‹ใ‚ชใƒชใ‚ธใƒณใงๅ‹•ไฝœใ—ใฆใ„ใ‚‹ใ‚ฆใ‚งใƒ–ใ‚ขใƒ—ใƒชใ‚ฑใƒผใ‚ทใƒงใƒณใซใ€็•ฐใชใ‚‹ใ‚ชใƒชใ‚ธใƒณใซใ‚ใ‚‹้ธๆŠžใ•ใ‚ŒใŸใƒชใ‚ฝใƒผใ‚นใธใฎใ‚ขใ‚ฏใ‚ปใ‚นๆจฉใ‚’ไธŽใˆใ‚‹ใ‚ˆใ†ใƒ–ใƒฉใ‚ฆใ‚ถใƒผใซๆŒ‡็คบใ™ใ‚‹ใŸใ‚ใฎไป•็ต„ใฟใงใ™ใ€‚

็ซฏ็š„ใซ่จ€ใ†ใจใ€CORSใจใฏใ€ŽๅŒไธ€ใ‚ชใƒชใ‚ธใƒณใƒใƒชใ‚ทใƒผ(SOP)ใฎๅˆถ้™ใ‚’ๅ›ž้ฟใ™ใ‚‹้š›ใซๅˆฉ็”จใ™ใ‚‹ๆฉŸ่ƒฝใฎใ“ใจใ€‚็•ฐใชใ‚‹ใ‚ชใƒชใ‚ธใƒณใ‹ใ‚‰ใฎใ‚ขใ‚ฏใ‚ปใ‚นใ‚’่จฑๅฏใงใใ‚‹ไป•็ต„ใฟใ€ใงใ™ใ€‚

ใกใชใฟใซCORSใฏใ€ŽCross-Origin Resource Sharingใ€ใฎ็•ฅใซใชใ‚Šใพใ™ใ€‚

้€šๅธธใ€ใ‚ใ‚‹ใ‚ชใƒชใ‚ธใƒณ(ไธ‹่จ˜ๅ‚็…งhttp://localhost:3000)ใ‹ใ‚‰ใ€็•ฐใชใ‚‹ใ‚ชใƒชใ‚ธใƒณ(http://localhost:5000)ใซๅฏพใ—ใฆใƒชใ‚ฝใƒผใ‚นใ‚’่ชญใฟ่พผใ‚‚ใ†ใจใ—ใŸๅ ดๅˆใ€ๅŒไธ€ใ‚ชใƒชใ‚ธใƒณใƒใƒชใ‚ทใƒผ(SOP)ใŒๆฉŸ่ƒฝใ—ใฆไปฅไธ‹ใฎใ‚ˆใ†ใชใ‚จใƒฉใƒผใŒๅ‡บๅŠ›ใ•ใ‚Œใพใ™ใ€‚

Access to XMLHttpRequest at 'http://localhost:5000' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

ใ“ใฎใ‚จใƒฉใƒผใ‚’ๅ›ž้ฟใ—ใฆ็•ฐใชใ‚‹ใ‚ชใƒชใ‚ธใƒณใ‹ใ‚‰ใฎใƒชใ‚ฝใƒผใ‚นใ‚’่ชญใฟ่พผใ‚€ใซใฏใ€ใƒใƒƒใ‚ฏใ‚จใƒณใƒ‰ๅดใงHTTPใƒ˜ใƒƒใƒ€ใƒผใฎ1ใคใงใ‚ใ‚‹Access-Control-Allow-Originใ‚’ใƒฌใ‚นใƒใƒณใ‚นใซ่จญๅฎšใ™ใ‚‹ๅฟ…่ฆใŒใ‚ใ‚Šใพใ™ใ€‚

Access-Control-Allow-Originใจใฏใ€ใ‚ชใƒชใ‚ธใƒณ้–“ใƒชใ‚ฝใƒผใ‚นๅ…ฑๆœ‰๏ผˆCORS๏ผ‰ใฎไธ€้ƒจใจใ—ใฆไฝฟ็”จใ•ใ‚Œใ‚‹HTTPใƒ˜ใƒƒใƒ€ใƒผใงใ™ใ€‚ใ“ใฎใƒ˜ใƒƒใƒ€ใƒผใฏใ€ใ‚ฏใƒฉใ‚คใ‚ขใƒณใƒˆใŒ่จฑๅฏใ•ใ‚ŒใŸใ‚ชใƒชใ‚ธใƒณใ‹ใ‚‰ใฎใƒชใ‚ฝใƒผใ‚นใ‚’ๅ—ใ‘ๅ–ใ‚‹ใ“ใจใŒใงใใ‚‹ใ‹ใฉใ†ใ‹ใ‚’็คบใ—ใพใ™ใ€‚


ๅ…ทไฝ“ไพ‹ใจใ—ใฆใ€ใƒใƒƒใ‚ฏใ‚จใƒณใƒ‰ๅดใงAccess-Control-Allow-Originใ‚’ใƒฌใ‚นใƒใƒณใ‚นใซ่จญๅฎšใ—ใŸใ‚ณใƒผใƒ‰ใŒไธ‹่จ˜ใซใชใ‚Šใพใ™ใ€‚ใ“ใฎใ‚ณใƒผใƒ‰Node.jsใ‚’ไฝฟ็”จใ—ใฆใ„ใพใ™(ใƒ•ใƒฌใƒผใƒ ใƒฏใƒผใ‚ฏใฏExpress)

index.js(Node.js)
const express = require('express');
const app = express();

// ใƒŸใƒ‰ใƒซใ‚ฆใ‚งใ‚ข่จญๅฎš
app.use((req, res, next) => {
  res.header('Access-Control-Allow-Origin', 'http://localhost:3000');
  next();
});

ไธŠ่จ˜ใฎใ‚ณใƒผใƒ‰ใ‚’่จ˜่ฟฐใ™ใ‚‹ใ“ใจใซใ‚ˆใ‚Šใ€ใ‚ฏใƒฉใ‚คใ‚ขใƒณใƒˆ(http://localhost:3000)ใŒ่จฑๅฏใ•ใ‚ŒใŸใ‚ชใƒชใ‚ธใƒณ(http://localhost:5000)ใ‹ใ‚‰ใฎใƒชใ‚ฝใƒผใ‚นใ‚’ใƒ–ใƒฉใ‚ฆใ‚ถใŒๆ‹’ๅฆใ™ใ‚‹ใ“ใจใชใๅ—ใ‘ๅ–ใ‚‹ไบ‹ใŒๅฏ่ƒฝใจใชใ‚Šใพใ™ใ€‚

ใพใŸCORSใฏใ€ใ‚ทใƒณใƒ—ใƒซใƒชใ‚ฏใ‚จใ‚นใƒˆใจใƒ—ใƒชใƒ•ใƒฉใ‚คใƒˆใƒชใ‚ฏใ‚จใ‚นใƒˆใฎ2ใคใฎ็•ฐใชใ‚‹ใƒชใ‚ฏใ‚จใ‚นใƒˆใ‚ฟใ‚คใƒ—ใ‚’ๅฎš็พฉใ—ใฆใ„ใพใ™ใ€‚

ๆœ€ๅˆใซใ€ใ‚ทใƒณใƒ—ใƒซใƒชใ‚ฏใ‚จใ‚นใƒˆใซใคใ„ใฆ่งฃ่ชฌใ—ใพใ™ใ€‚

ใ‚ทใƒณใƒ—ใƒซใƒชใ‚ฏใ‚จใ‚นใƒˆ

ใ‚ทใƒณใƒ—ใƒซใƒชใ‚ฏใ‚จใ‚นใƒˆ(ๅ˜็ด”ใƒชใ‚ฏใ‚จใ‚นใƒˆ)ใจใฏใ€ไปฅไธ‹ใฎๆกไปถใ‚’ใ™ในใฆๆบ€ใŸใ™ใƒชใ‚ฏใ‚จใ‚นใƒˆใฎใ“ใจใ‚’ๆŒ‡ใ—ใพใ™ใ€‚

1. ใƒกใ‚ฝใƒƒใƒ‰ใฏๅณ่จ˜ใฎใ„ใšใ‚Œใ‹ใงใ‚ใ‚‹: GETใ€HEADใ€POST
2. HTTPใƒ˜ใƒƒใƒ€ใƒผใฏไธ‹่จ˜ไปฅๅค–ๅซใพใ‚Œใฆใ„ใชใ„ใ‹

  • Accept
  • Accept-Language
  • Content-Language
  • Content-Type๏ผˆใŸใ ใ—ใ€ไปฅไธ‹ใฎใ„ใšใ‚Œใ‹ใฎๅ€คใซๅˆถ้™ใ•ใ‚Œใ‚‹: application/x-www-form-urlencodedใ€multipart/form-dataใ€text/plain

MDNใงๅฎš็พฉใ•ใ‚Œใฆใ„ใ‚‹ ใ‚ทใƒณใƒ—ใƒซใƒชใ‚ฏใ‚จใ‚นใƒˆ ใ‚‚ๅˆใ‚ใ›ใฆใ”็ขบ่ชใใ ใ•ใ„ใ€‚

ใ‚ฏใƒฉใ‚คใ‚ขใƒณใƒˆใ‹ใ‚‰FetchAPIใชใฉใ‚’ๅˆฉ็”จใ—ใฆ้€ใ‚‰ใ‚ŒใŸใƒชใ‚ฏใ‚จใ‚นใƒˆใŒใ€ไธŠ่จ˜ใฎ่ฆไปถใ‚’ๆบ€ใŸใ™ใ‚ทใƒณใƒ—ใƒซใƒชใ‚ฏใ‚จใ‚นใƒˆใ ใฃใŸๅ ดๅˆใฏใ€ใ‚ตใƒผใƒใƒผๅดใฎใƒฌใ‚นใƒใƒณใ‚นใƒ˜ใƒƒใƒ€ใƒผใซๆ—ข่ฟฐใฎAccess-Control-Allow-Originใฎใฟ่จญๅฎšใ™ใ‚Œใฐใ€ใ‚ฏใƒฉใ‚คใ‚ขใƒณใƒˆ๏ผˆใƒ–ใƒฉใ‚ฆใ‚ถ๏ผ‰ใŒใƒชใ‚ฝใƒผใ‚นใซใ‚ขใ‚ฏใ‚ปใ‚นใงใใ‚‹ใ‚ˆใ†ใชใ‚Šใพใ™ใ€‚

ใ—ใ‹ใ—ใ€ไธŠ่จ˜ใฎใ‚ทใƒณใƒ—ใƒซใƒชใ‚ฏใ‚จใ‚นใƒˆใ‹ใ‚‰ๅฐ‘ใ—ใงใ‚‚ๆกไปถใŒๅค–ใ‚ŒใŸใƒชใ‚ฏใ‚จใ‚นใƒˆใฎๅ ดๅˆใฏใ€ใƒ–ใƒฉใ‚ฆใ‚ถใฏใƒ—ใƒชใƒ•ใƒฉใ‚คใƒˆใƒชใ‚ฏใ‚จใ‚นใƒˆ(ๅพŒ่ฟฐ)ใจใ„ใ†ใ‚‚ใฎใ‚’้€ไฟกใ—ใพใ™ใ€‚

ๆฌกใซใ€ใƒ—ใƒชใƒ•ใƒฉใ‚คใƒˆใƒชใ‚ฏใ‚จใ‚นใƒˆใซใคใ„ใฆ่งฃ่ชฌใ—ใพใ™ใ€‚

ใƒ—ใƒชใƒ•ใƒฉใ‚คใƒˆใƒชใ‚ฏใ‚จใ‚นใƒˆ

ใƒ—ใƒชใƒ•ใƒฉใ‚คใƒˆใƒชใ‚ฏใ‚จใ‚นใƒˆใฏใ‚ทใƒณใƒ—ใƒซใƒชใ‚ฏใ‚จใ‚นใƒˆใฎๆกไปถใ‚’ๆบ€ใŸใ•ใชใ„ๅ ดๅˆใซ่กŒใ‚ใ‚Œใ€ใƒชใ‚ฝใƒผใ‚นใ‚ขใ‚ฏใ‚ปใ‚นใฎใŸใ‚ใฎไบ‹ๅ‰ใฎใ‚ขใ‚ฏใ‚ปใ‚นใ‚’ๆ‰ฟ่ชใ™ใ‚‹ใŸใ‚ใฎใ‚‚ใฎใ€ใ€ŽใŠไผบใ„ใ€ใฎใ‚ˆใ†ใชใ‚‚ใฎใซใชใ‚Šใพใ™ใ€‚

ใ‚นใ‚ฏใƒชใƒผใƒณใ‚ทใƒงใƒƒใƒˆ (1195).png

index.js(Node.js)
const express = require('express');
const app = express();

// ใƒŸใƒ‰ใƒซใ‚ฆใ‚งใ‚ข่จญๅฎš
app.use((req, res, next) => {
  res.header('Access-Control-Allow-Origin', 'http://localhost:3000');
  res.header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE');
  res.header('Access-Control-Allow-Headers', 'Content-Type');
  next();
});
  • ใƒ—ใƒชใƒ•ใƒฉใ‚คใƒˆใƒชใ‚ฏใ‚จใ‚นใƒˆใฏOPTIONSใƒกใ‚ฝใƒƒใƒ‰ใง่กŒใ‚ใ‚Œใ€Access-Control-Request-Methodใƒ˜ใƒƒใƒ€ใƒผใ‚„Access-Control-Request-Headersใƒ˜ใƒƒใƒ€ใƒผใชใฉใฎๆƒ…ๅ ฑใŒๅซใพใ‚Œใพใ™ใ€‚
  • ใ‚ตใƒผใƒใƒผใฏใƒ—ใƒชใƒ•ใƒฉใ‚คใƒˆใƒชใ‚ฏใ‚จใ‚นใƒˆใ‚’ๅ—ใ‘ๅ–ใฃใŸๅพŒใ€Access-Control-Allow-Originใƒ˜ใƒƒใƒ€ใƒผใ‚„Access-Control-Allow-Methodsใƒ˜ใƒƒใƒ€ใƒผใ€Access-Control-Allow-Headersใƒ˜ใƒƒใƒ€ใƒผใชใฉใ‚’ๅซใ‚€ใƒฌใ‚นใƒใƒณใ‚นใ‚’่ฟ”ใ—ใพใ™ใ€‚
  • ใƒ–ใƒฉใ‚ฆใ‚ถใŒใƒ—ใƒชใƒ•ใƒฉใ‚คใƒˆใƒชใ‚ฏใ‚จใ‚นใƒˆใฎใƒฌใ‚นใƒใƒณใ‚นใ‚’ๅ—ใ‘ๅ–ใ‚Šใ€ใ‚ตใƒผใƒใƒผใฎ่จญๅฎšใŒ่จฑๅฏใ•ใ‚ŒใŸใƒชใ‚ฏใ‚จใ‚นใƒˆใงใ‚ใ‚‹ใ“ใจใ‚’็ขบ่ชใ—ใŸๅพŒใ€ๅฎŸ้š›ใฎใƒชใ‚ฏใ‚จใ‚นใƒˆใ‚’้€ไฟกใ—ใฆใƒชใ‚ฝใƒผใ‚นใซใ‚ขใ‚ฏใ‚ปใ‚นใ—ใพใ™ใ€‚

ใพใจใ‚

็งใชใ‚Šใซใพใจใ‚ใ‚‹ใจใ€CORSใฏใ€ŽๅŒไธ€ใ‚ชใƒชใ‚ธใƒณใƒใƒชใ‚ทใƒผ(SOP)ใซใ‚ˆใ‚‹ๅˆถ้™ใŒใ‹ใ‹ใฃใŸใพใพใ ใจใ€ๅˆฅใฎใ‚ชใƒชใ‚ธใƒณใ‹ใ‚‰ใฎfetchAPIใชใฉใฎใƒชใ‚ฏใ‚จใ‚นใƒˆใ‚’ๅ—ใ‘ใ‚Œใชใ„ใฎใงใ€ใใ‚Œใ‚’็ทฉๅ’Œใ™ใ‚‹ใŸใ‚ใฎใƒ–ใƒฉใ‚ฆใ‚ถใซๅ‚™ใ‚ใฃใŸๆฉŸ่ƒฝใ€ใจ่จ€ใ„ๆ›ใˆใ‚‰ใ‚Œใ‚‹ใฎใ‹ใชใจๆ€ใ„ใพใ™ใ€‚

ใพใŸCORSใฏใ€ใ‚ทใƒณใƒ—ใƒซใƒชใ‚ฏใ‚จใ‚นใƒˆใจใƒ—ใƒชใƒ•ใƒฉใ‚คใƒˆใƒชใ‚ฏใ‚จใ‚นใƒˆใฎ2ใคใฎ็•ฐใชใ‚‹ใƒชใ‚ฏใ‚จใ‚นใƒˆใ‚ฟใ‚คใƒ—ใ‚’ๅฎš็พฉใ—ใฆใŠใ‚Šใ€ใใ‚Œใžใ‚Œใ‚ตใƒผใƒใƒผๅดใง้ฉๅˆ‡ใชHTTPใƒ˜ใƒƒใƒ€ใƒผใ‚’่จญๅฎšใ™ใ‚‹ๅฟ…่ฆใŒใ‚ใ‚Šใพใ™ใ€‚

ใŠใ‚ใ‚Šใซ

ใ“ใ“ใพใง่จ˜ไบ‹ใ‚’ใ”่ฆงใ„ใŸใ ใใ€ใ‚ใ‚ŠใŒใจใ†ใ”ใ–ใ„ใพใ—ใŸใ€‚
ใ“ใฎ่จ˜ไบ‹ใ‚’่ฆ‹ใฆใ„ใŸใ ใ„ใŸๆ–นใŒใ€CORSใซใคใ„ใฆ็†่งฃใŒๅฐ‘ใ—ใงใ‚‚ๆทฑใพใฃใŸใจใ—ใŸใ‚‰ๅฌ‰ใ—ใ„ใงใ™ใ€‚

้–“้•ใ„ใชใฉใ‚ใ‚Šใพใ—ใŸใ‚‰ใ”ๆŒ‡ๆ‘˜ใ„ใŸใ ใ‘ใ‚‹ใจๅนธใ„ใงใ™ใ€‚

ๅ‚่€ƒ

103
46
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up

@Hirohana's pickup articles

Today's trending articles

nakaizumi_slj

ใชใœๅƒใ„ใฆใ„ใ‚‹ใจๆœฌใŒ่ชญใ‚ใชใใชใ‚‹ใฎใ‹ โ€” ใ‚จใƒณใ‚ธใƒ‹ใ‚ขใŒๅคฑใฃใฆใ„ใ‚‹ใ€Œ่€ƒใˆใ‚‹ๅŠ›ใ€ใจใ€Œ่ชžๅฝ™ๅŠ›ใ€

ishikawa_slj

ใ€ใ‚ขใƒ—ใƒช้–‹็™บใ€‘ไบบไบ‹ใฎไธ€่จ€ใง็ˆ†่ช•๏ผSlackใฎ้€š็Ÿฅใซใ‚ฟใ‚นใ‚ฏใŒๆบบใ‚ŒใฆใŸใฎใงใ€ใƒœใ‚ฟใƒณใงๆ•‘ๅ‡บใ—ใฆใฟใŸ๏ผ

Linked from these articles

Comments

No comments

Let's comment your feelings that are more than good

Qiita Conference 2025 Autumn will be held!: 11/5(Wed) - 11/7(Fri)

Qiita Conference is Qiita's largest tech conference, dedicated to engineers in the age of AI!

Keynote Speaker

piacere, Tsuyoshi Ushio, Esteban Suarez, Takuto Wada, seya, MinoDriven, Toshihiro Ichitani, Karaage, Yoshimasa Iwase, Matz, Minorun, Null-Sensei

View event details

Being held Article posting campaign

103
46

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Login to continue?

Login or Sign up with social account

Login or Sign up with your email address