JavaScript È°¿ëÆÁ
2022.05.02 / 15:45

ajax ·Î °ª ³Ñ±â´Â ¹æ¹ý

ÄÚÄÚ·Î
Ãßõ ¼ö 132
ajax ·Î °ª ³Ñ±â´Â ¹æ¹ý
Á÷ÀåÀϱâ/±â¼ú°øºÎ 2021. 5. 19. 15:31

ºñµ¿±â ¹æ½ÄÀ̶õ

½ÅÈ£¸¦ º¸³ÂÀ» ¶§ ÀÀ´ä »óÅÂ¿Í »ó°ü¾øÀÌ ´ÙÀ½ µ¿ÀÛÀ» ¼öÇàÇÏ´Â ¹æ½Ä

È­¸é Àüȯ ¾øÀÌ Å¬¶óÀ̾ðÆ®¿Í ¼­¹ö °°ÀÇ XML, JSON, ÅؽºÆ®, HTML µîÀÇ Á¤º¸¸¦ ±³È¯Çϱâ À§Çؼ­ »ç¿ë

´ë±â½Ã°£ ¾øÀÌ ´Ù¸¥ ÀÛ¾÷À» ¹Ù·Î ¼öÇàÇÒ ¼ö ÀÖ´Ù

 

Ajax °ü·Ã ¸Þ¼­µå

load()

»ç¿ëÀÚ°¡ ÁöÁ¤ÇÑ URL ÁÖ¼Ò¿¡ µ¥ÀÌÅ͸¦ Àü¼ÛÇÏ°í ¿ÜºÎ ÄÜÅÙÃ÷¸¦ ¿äûÇÏ¿© °¡Á®¿Ã ¶§ »ç¿ë
¿äûÇÑ ÄÜÅÙÃ÷¸¦ ÀÌ¿ëÇØ ¼±ÅÃÇÑ ¿ä¼ÒÀÇ ³»¿ëÀ» ¹Ù²Ü ¼ö ÀÖ´Ù

URL ÁÖ¼Ò: ¿ÜºÎ ÄÜÅÙÃ÷¸¦ ¿äûÇÒ ¿ÜºÎ ÁÖ¼Ò ÀÔ·Â

data: Àü¼ÛÇÒ µ¥ÀÌÅÍ ÀÔ·Â

Àü¼ÛÀÌ ¿Ï·áµÇ¸é Äݹé ÇÔ¼ö¿¡ ÀúÀåµÈ Äڵ尡 ½ÇÇàµÈ´Ù (»ý·«°¡´É)

¿ÜºÎÆÄÀÏÀÇ ÀϺΠ¿ä¼Ò¸¸ ºÒ·¯¿Ã ¼öµµ ÀÖ´Ù.

$(¿ä¼Ò ¼±ÅÃ).load(url, data, ÄݹéÇÔ¼ö)

// example (°°Àº Æú´õ ³»)
// news.html ÆÄÀÏ ¾È id °ªÀÌ news_1 ÀÎ °ªÀ» id newsWrap À¸·Î ºÒ·¯¿Í¶ó 
$("#newsWrap").load("news.html #news_1")

 

$ajax()

»ç¿ëÀÚ°¡ ÁöÁ¤ÇÑ URL °æ·Î¿¡ ÆÄÀÏÀÇ µ¥ÀÌÅ͸¦ Àü¼ÛÇÏ°í ÀÔ·ÂÇÑ URL °æ·Î ÆÄÀϷκÎÅÍ ¿äûÇÑ µ¥ÀÌÅ͸¦ ºÒ·¯¿Â´Ù´Ù.

ºÒ·¯¿Ã ¼ö ÀÖ´Â ¿ÜºÎ µ¥ÀÌÅÍ: HTML, ÅؽºÆ®, XML, JSON µî

$.ajax({
	url: "Àü¼Û ÆäÀÌÁö"(action url),
	type: "Àü¼Û ¹æ½Ä"(get, post ¹æ½Ä),
	data: "Àü¼ÛÇÒ µ¥ÀÌÅÍ",
	dataType: "¿äûÇÑ µ¥ÀÌÅÍ Çü½Ä"("html", "xml", "json", "text", "jsonp"),
	success: function(result){
		Àü¼Û¿¡ ¼º°øÇÏ¸é ½ÇÇàµÉ ÄÚµå
	},
	error: function(){
		Àü¼Û¿¡ ½ÇÆÐÇÏ¸é ½ÇÇàµÉ ÄÚµå
	}
});

 

¹ÙÀεù

ºñµ¿±â Åë½Å ±â¼úÀ» ÀÌ¿ëÇÏ¿© ¼­¹ö µ¥ÀÌÅͺ£À̽º¿¡ µ¥ÀÌÅ͸¦ ¿äûÇÏ°í, µ¥ÀÌÅͺ£À̽º¿¡ ¿äûÇÑ µ¥ÀÌÅ͸¦ ¹Þ¾Æ¿Í html ¹®´Ü ű׿¡ °áÇÕÇÏ´Â °ÍÀ» bindingÀ̶ó°í ÇÑ´Ù

 

parameter¸¦ controller·Î ³Ñ°ÜÁÖ±â

ajax data¿¡ ÀÚ½ÅÀÌ ³Ñ±â°í ½ÍÀº data À̸§À» Á¤ÇØÁÖ°í ±× °ªÀ» ³Ö´Â´Ù

jQuery ¿¡¼­ ajax »ç¿ë½Ã ÆíÀÇ»ó url¿¡ ParameterÀ» °°ÀÌ Àü¼ÛÇÏ´Â °æ¿ì°¡ Àִµ¥ ±ÍÂú´õ¶óµµ data¸¦ ÀÌ¿ëÇÏ¿© Parameter¸¦ Àü´ÞÇϵµ·Ï ÇÏ´Â°Ô ÁÁ´Ù.  

¿Ö³ÄÇϸé Parameter¿¡ Ư¼ö¹®ÀÚ°°Àº ¹®ÀÚ°¡ µé¾î¿Ã °æ¿ì ¹®Á¦°¡ ¹ß»ýÇÒ ¼ö ÀÖ±âÀ¸´Ï±î

°ªÀº key-value ÇüÅ·Π´ã°ÜÁø´Ù

controller¿¡¼­´Â map ÇüÅ·ΠparamÀ» ¹Þ°í service¸¦ Áö³ª mapper·Î º¸³»ÁØ´Ù

mapper¿¡¼­´Â ²À parameterTypeÀ» Á¤ÀÇÇÑ´Ù

key À̸§À» Á¤È®ÇÏ°Ô ÀÔ·ÂÇØÁÖ¾î¾ß ÇÑ´Ù.

$.ajax({ 
	url :'Url',
    type : 'post',
    dataType : 'json', 
    data : { nickName : '´Ð³×ÀÓ', }, 
    success: function(data){ 
    	console.log("¼º°ø"); 
    } 
});

//Ãâó: https://backstreet-programmer.tistory.com/90 [±Û¾²´Â °³¹ßÀÚ]

2. Controller

  @PostMapping("/Url")
  public @ResponseBody void method(@RequestParam Map<String, Object> param, HttpServletRequest request, DefaultVO defaultVO) {
    service.method(param);
  }

3.Service

public void method(Map<String, Object> map);

4.Mapper

	<insert id="methodName" parameterType="java.util.Map">
		INSERT INTO TableName
		 (
		 	[´Ð³×ÀÓ],
		 ) 
		 values
		 (
		 	#{nickName},
		 );
	</insert>