โ† ๋ชฉ๋ก์œผ๋กœ ๋Œ์•„๊ฐ€๊ธฐ

fetch vs. form submit


๋ชจ ํšŒ์‚ฌ์˜ EDMS ์†”๋ฃจ์…˜์„ ์ ์šฉํ•˜๋ฉด์„œ ์ง€๊ทนํžˆ ๊ธฐ์ดˆ์ ์ธ ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ ๊ณ ๋ฏผํ•œ๋‹ค.

๋ฌธ์„œ Viewer๋ฅผ ์†”๋ฃจ์…˜์œผ๋กœ ๋„์ž…์„ ํ–ˆ๋Š”๋ฐ, ์ด ๋…€์„์€ request payload๋ฅผ jsonํ˜•ํƒœ๋กœ ๋ฐ›์•„๋“ค์ด๊ณ  ์žˆ๋‹ค.

๊ทธ ๋•๋ถ„์— CORS๋ฅผ ํšŒํ”ผํ•˜๊ธฐ ์œ„ํ•œ popup submit๋ฐฉ์‹์€ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์—†์–ด, ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์„ค์น˜๋˜์ง€ ์•Š์œผ๋ฉด ์‚ฌ์šฉ ํ•  ์ˆ˜ ์—†๋Š” ํ˜„์ƒ์ด ๋ฐœ์ƒํ•˜๊ณ  ์žˆ๋‹ค.

  • fetch๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด CORS ์ •์ฑ…์œผ๋กœ ์ธํ•ด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์„œ๋ฒ„์—์„œ CORS๋ฅผ ํ—ˆ์šฉํ•˜๋„๋ก ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์„œ๋ฒ„๊ฐ€ CORS๋ฅผ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ, ์ด์ „์ฒ˜๋Ÿผ form submit ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ํ”„๋ก์‹œ ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ง‰์—ฐํžˆ ๋  ๊ฒƒ์ด๋ผ ์ƒ๊ฐํ–ˆ๋˜ ๋ถ€๋ถ„์ด ์•ˆ ๋˜๋Š” ๊ฒƒ์„ ์‹ค์ฆ ํ•ด ๋ณด๊ณ  ์ž์‹ ์˜ ์–ด๋ฆฌ์„์Œ์„ ๋‹ค์‹œ ํ•œ ๋ฒˆ ์ƒ๊ฐํ•œ๋‹ค.