Backbone: ๋’ค๋กœ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด json์ด ๋ Œ๋”๋ง๋ฉ๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2011๋…„ 09์›” 24์ผ  ยท  10์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: jashkenas/backbone

๋ฐฑ๋ณธ์„ ์‚ฌ์šฉํ•˜๋Š” Rails ์•ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋’ค๋กœ ๋ฒ„ํŠผ์ด๋‚˜ ์•ž ๋ฒ„ํŠผ์„ ๋ฌด์ž‘์œ„๋กœ ํด๋ฆญํ•˜๋ฉด json์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๊ฐ์‚ฌ ํ•ด์š”!
๋‚˜๋ฅผ์œ„ํ•œ

$.ajaxSetup
  cache: false

์ถฉ๋ถ„ํ–ˆ๋‹ค

๋ชจ๋“  10 ๋Œ“๊ธ€

๋” ๋งŽ์€ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ํ˜„์žฌ ํ”„๋กœ๋•์…˜์—์„œ Rails์™€ ํ•จ๊ป˜ Backbone์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ๋™์ผํ•œ ๋™์ž‘์„ ๋ณด๊ณ  ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํŠนํžˆ ๋ฌธ์ œ๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ์žฌํ˜„ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ…Œ์ŠคํŠธ ์‚ฌ๋ก€๋ฅผ ์ œ๊ณตํ•˜์‹ญ์‹œ์˜ค.

๋™์ผํ•œ ๊ฒฝํ—˜์„ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์™ธ๋ถ€ URL(๋ฐฑ๋ณธ ์•ฑ์—์„œ ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š์Œ)์œผ๋กœ ์ด๋™ํ•˜๊ฑฐ๋‚˜ ํƒญ์„ ๋‹ซ์€ ๋‹ค์Œ ๋’ค๋กœ ๋Œ์•„๊ฐ€๊ฑฐ๋‚˜ ํƒญ์„ ๋‹ค์‹œ ์—ด ๋•Œ๋งˆ๋‹ค JSON์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ ์‚ฌ๋ก€๋ฅผ ์–ด๋–ป๊ฒŒ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚˜๊ณ  ์žˆ๋Š”์ง€ ๋‹จ์„œ๋ฅผ ์ค„ ์ˆ˜ ์žˆ๋Š” ๋ช‡ ๊ฐ€์ง€ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ _.delay ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋ธ ์ปฌ๋ ‰์…˜์„ ์„œ๋ฒ„์™€ ๋™๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค(collection.fetch()). ์„œ๋ฒ„๋Š” ๋™์ผํ•œ URL์—์„œ ๋™๊ธฐํ™”๋ฅผ ์œ„ํ•ด ์•ฑ๊ณผ JSON์„ ๋ชจ๋‘ ์ œ๊ณตํ•˜๊ณ  ํ—ค๋”๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ „์ฒด ์•ฑ์„ ์ œ๊ณตํ•ด์•ผ ํ•˜๋Š”์ง€ ์•„๋‹ˆ๋ฉด ๋ชจ๋ธ์— ๋Œ€ํ•œ JSON ๋ฐ์ดํ„ฐ ๋ฐฐ์—ด๋งŒ ์ œ๊ณตํ•ด์•ผ ํ•˜๋Š”์ง€ ๊ฒฐ์ •ํ•˜๋Š” RoR ์•ฑ์ž…๋‹ˆ๋‹ค. ๊ทธ๊ฒŒ ๋ฌธ์ œ๊ฐ€ ๋ ๊นŒ์š”?

๋‚ด ๋‹ค๋ฅธ ์ƒ๊ฐ์€ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์„œ๋ฒ„์— ๋Œ€ํ•œ ์ตœ์‹  ์š”์ฒญ์„ ์บ์‹œํ•˜๊ณ  ๋‹ค์‹œ ๋ˆ„๋ฅด๋ฉด ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ Œ๋”๋งํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ๋™๊ธฐํ™” ์š”์ฒญ ์ „์— ์•ฑ์„ ๋น ๋ฅด๊ฒŒ ์ข…๋ฃŒํ•  ์ˆ˜ ์žˆ์œผ๋ฉด ๋’ค๋กœ ์ด๋™ํ•˜๋ฉด ์•ฑ(JSON ์•„๋‹˜)์ด ๋ Œ๋”๋ง๋ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์„ ๊ทน๋ณตํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์•„์ด๋””์–ด๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

๋‚˜๋Š” ์ด๊ฒƒ์„ํ•จ์œผ๋กœ์จ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ๋‹ค.

$.ajaxSetup
 ย beforeSend: (xhr) ->
 ย  ย xhr.setRequestHeader "Accept", "application/json"
 ย cache: false

๊ฐ์‚ฌ ํ•ด์š”!
๋‚˜๋ฅผ์œ„ํ•œ

$.ajaxSetup
  cache: false

์ถฉ๋ถ„ํ–ˆ๋‹ค

+1

+1

๋‚ด RoR ์•ฑ์—์„œ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๊ณ  ๊ท€ํ•˜์˜ ์†”๋ฃจ์…˜์ด ์ €์—๊ฒŒ ํšจ๊ณผ์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

@omenking @antonlitvinenko ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๋” ๋‚˜์€ ๋ฐฉ๋ฒ•์€ ํ•ญ์ƒ ๋ช…์‹œ์ ์œผ๋กœ .json ํ™•์žฅ์ž๋ฅผ URL์— ์ถ”๊ฐ€ํ•˜๊ณ  ๋ธŒ๋ผ์šฐ์ €๊ฐ€ json๊ณผ page html์„ ๋ชจ๋‘ ์บ์‹œํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค(๊ดœ์ฐฎ๋‹ค๋ฉด /users/1 + /users/1.json ๋™์ผํ•œ URL์— ๋Œ€ํ•œ ์บ์‹œ ํ•ญ๋ชฉ์„ ๋ฎ์–ด์“ฐ๋Š” ๋Œ€์‹ 

@Sija ๋‹น์‹ ์ด ์˜ณ์•˜์ง€๋งŒ ๋ช…์‹œ์  .json์œผ๋กœ ๋ณ€๊ฒฝํ–ˆ๊ณ  ํ…Œ์ŠคํŠธ๋ฅผ ํ•  ๋•Œ json์ด ํŽ˜์ด์ง€๋ฅผ ๋ฎ์–ด ์“ฐ๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•œ ๋ฌธ์ œ๋ฅผ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ๋ญ˜ ์ž˜๋ชปํ•˜๊ณ  ์žˆ๋Š”์ง€ ์•Œ์•„? ํ—คํ—ค
tks

+1

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰