반응형
로드하는 방법도 여러가지..
load : load(String url, params, Function callback)
html : html(value)
load 는 직접 url을 호출하여 요소에 추가 시킬 수 있고 요청방식은 POST로 이루어 진다.
html은 만들어진 내용을 요소에 추가시킨다.
파일 호출은 getJSON, getScript, get, post 중 맞는 것 적용하면 됨.
※ 테스트하면서 하나 알게 된건 페이지 호출시 get 방식이면 갱신이 안되는 반면, post 방식으로 하면 갱신이 된다는 점.
아래는 테스트했던 소스들.. 서비스로 폼전송하는것과 처리중임 표시(.ajaxStart, .ajaxStop)하는 소스도 포함 ㅋ
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <link href="Css/cssJMBae.css" rel="stylesheet" type="text/css" /> <style type="text/css"> .button { border-width: 1px; padding: 1px; margin: 1px; border-style: solid; text-align: center; width: 150px; } #loading { display: none; } </style> <!--<script src="Scripts/jquery-1.3.2-vsdoc.js" type="text/javascript"></script>--> <script src="Scripts/jquery-1.3.2.js" type="text/javascript"></script> <script language="javascript" type="text/javascript"> $(document).ready(function () { $('#letter-a .button').click(function () { $('#dictionary').load('Page106Part1.htm'); $('#dictionary') alert('Loaded!'); }); $('#letter-b .button').click(function () { $.getJSON('Page106.json', function (data) { $('#dictionary').empty(); //id dictionary 의 내용삭제 $.each(data, function (entryIndex, entry) { var html = '<div class="entry">'; html += '<h3 class="term">' + entry['term'] + '</h3>'; html += '<div class="part">' + entry['part'] + '</div>'; html += '<div class="definition">'; html += entry['definition']; if (entry['quote']) { html += '<div class="quote">'; $.each(entry['quote'], function (lineIndex, line) { html += '<div class="quote-line">' + line + '</div>'; }); if (entry['author']) { html += '<div class="quote-author">' + entry['author'] + '</div>'; }; html += '</div>'; } html += '</div>'; html += '</div>'; $('#dictionary').append(html); }); }); ; }); $('#letter-c .button').click(function () { $.getScript('Page106.js'); }); $('#letter-d .button').click(function () { $.get('http://www.microsoft.com/korea/msdn/rss/homepage/msdn.xml', function (data) { $('#dictionary').empty(); $(data).find('item').each(function () { var $item = $(this); var html = '<div class="item">'; html += '<h3 class="title">' + $item.find('title').text() + '</h3>'; html += '<div class="description">' + $item.find('description').text() + '</div>'; html += '<div class="link">' + $item.find('link').text() + '</div>'; html += '<div class="pubDate">' + $item.find('pubDate').text() + '</div>'; html += '<hr>'; html += '</div>'; $('#dictionary').append(html); }); }); }); // $('#letter-d .button').click(function () { // $.get('Page106.xml', function (data) { // $('#dictionary').empty(); // $(data).find('entry').each(function () { // var $entry = $(this); // var html = '<div class="entry">'; // html += '<h3 class="term">' + $entry.attr('term') + '</h3>'; // html += '<h3 class="part">' + $entry.attr('part') + '</h3>'; // html += '<div class="definition">' + $entry.find('definition').text() + '</div>'; // html += '</div>'; // $('#dictionary').append(html); // }); // }); $('#letter-e a').click(function () { $('#dictionary').empty(); $.get('Page106Response.aspx', { 'msg': $(this).text() }, function (data) { $('#dictionary').html(data); }); return false; }); $('#letter-post a').click(function () { $('#dictionary').empty(); // $.post('Page106Response.aspx', { 'msg': $(this).text() }, function (data) { // $('#dictionary').html(data); // }); $('#dictionary').load('Page106Response.aspx', { 'msg': $(this).text() }); return false; }); // $('#letter-f form').submit(function () { // // $('#dictionary').load('Page106Response.aspx', { 'msg': $('input[@name="msg"]').val() }); // $('#dictionary').load('Page106Response.aspx', { 'msg': '뭐지증말' }); // $('#dictionary').append("<h3>되ㄴㄴㄴ</h3>"); // return false; // }); $('#letter-f form').submit(function () { $.post('Page106Response.aspx', $(this).find('input').serialize(), function (data) { $('#dictionary').html(data); }); return false; }); }); $(document).ready(function () { $('#loading').ajaxStart(function () { $(this).show(); }).ajaxStop(function () { $(this).hide(); // alert('ajaxStop!'); }); }); </script> </head> <body> <h2>천사의 사전</h2> <h4>앰브로스 비어스 지음</h4> <div class="letters"> <div id="letter-a" class="letter"> <h3>A</h3> <div class="button"> htm Load </div> </div> <div id="letter-b" class="letter"> <h3>B</h3> <div class="button"> json Load </div> </div> <div id="letter-c" class="letter"> <h3>C</h3> <div class="button"> js Load </div> </div> <div id="letter-d" class="letter"> <h3>D</h3> <div class="button"> xml Load </div> </div> </div> <div class="letter" id="letter-e"> <h3>E</h3> <ul> <li><a href="Page106Response.aspx?msg=한글깨져Get">한글깨져Get</a></li> <li><a href="Page106Response.aspx?msg=한글깨져Get2">한글깨져Get2</a></li> <li><a href="Page106Response.aspx?msg=한글깨져Get3">한글깨져Get3</a></li> </ul> </div> <div class="letter" id="letter-post"> <h3>E</h3> <ul> <li><a href="Page106Response.aspx?msg=한글깨져Post">한글깨져Post</a></li> <li><a href="Page106Response.aspx?msg=한글깨져Post2">한글깨져Post2</a></li> <li><a href="Page106Response.aspx?msg=한글깨져Post3">한글깨져Post3</a></li> </ul> </div> <div class="letter" id="letter-f"> <form action="Page106Response.aspx"> <input type="text" name="msg" value="" id="msg" /> <input type="submit" name="search" value="search" id="search" /> <span id="loading"> Loading... </span> </form> </div> <div id="dictionary"> </div> </body> </html>
반응형
'Dev > jQuery' 카테고리의 다른 글
jQuery Timer 활용 (5) | 2012.02.28 |
---|---|
[jQuery] 체크박스 전체 체크/해제 구현하기 (0) | 2009.12.21 |
[jQuery] Tooltip 구현하기 (0) | 2009.12.17 |
[jQuery] 이미지 버튼 변하게(마우스오버/마우스아웃) 만들기 (0) | 2009.12.11 |
[jQuery] 페이지에 HTML추가 하기 (0) | 2009.12.03 |