안녕하세요 오늘은 화요일인데 어떡하지? 지난 이틀 동안 ajax 관련 지식을 배웠던 기억이 나네요. 오늘도 jquery와 ajax 관련 지식을 배워보겠습니다.
1. jQuery
------jQuery 및 AJAX------
AJAX는 "Asynchronous Javascript And XML"의 약자로 대화형 웹 애플리케이션을 만들기 위한 웹 개발 기술을 의미합니다.
AJAX = 비동기 JavaScript 및 XML(표준 범용 마크업 언어의 하위 집합).
AJAX는 빠르고 동적인 웹페이지를 만드는 기술입니다.
AJAX를 사용하면 백그라운드에서 서버와 소량의 데이터를 교환하여 웹페이지를 비동기적으로 업데이트할 수 있습니다. 이는 전체 페이지를 다시 로드하지 않고도 웹페이지의 일부를 업데이트할 수 있음을 의미합니다.
AJAX를 사용하지 않는 기존 웹페이지에서는 콘텐츠를 업데이트해야 하는 경우 전체 웹페이지를 다시 로드해야 합니다.
관련 자료: JQuery Framework 사용법 튜토리얼 AJAX AJAX 기본 튜토리얼: AJAX의 첫 이해
----load() 메소드를 사용하여 비동기식으로 데이터 요청
load() 메서드를 사용하여 Ajax 요청을 통해 서버에서 데이터를 로드하고 반환된 데이터를 지정된 요소에 배치합니다.
로드(URL,[데이터],[콜백])
url 매개변수는 로딩 서버의 주소, 선택적 data 매개변수는 요청 시 전송되는 데이터, callback 매개변수는 데이터 요청 성공 후 실행되는 콜백 함수입니다.
<body> <div id="divtest"> <div class="title"> <span class="fl">我最爱吃的水果</span> <span class="fr"> <input id="btnShow" type="button" value="加载" /> </span> </div> <ul></ul> </div> <script type="text/javascript"> $(function () { $("#btnShow").bind("click", function () { var $this = $(this); $("ul") .html("<img src='Images/Loading.gif' alt=''/>") .load("http://www.imooc.com/data/fruit_part.html",function(){ $this.attr("disabled", "true"); }); }) }); </script> </body>
load()를 사용할 때 요소는 공백에 민감합니다. 예를 들어 URL의 시작과 끝에 공백이 없어야 합니다. 예를 들어 function() 뒤에는 공백이 없어야 합니다. .
----JSON 형식 데이터를 비동기적으로 로드하려면 getJSON() 메서드를 사용하세요
Ajax 비동기 요청을 통해 서버에서 배열을 가져오고 가져온 데이터를 구문 분석하고 페이지에 표시하려면 getJSON() 메서드를 사용하세요.
jQuery.getJSON(url,[data],[콜백]) 또는 $.getJSON(url,[data],[callback])
그 중 url 매개변수는 json 형식의 파일을 로드하기 위한 요청의 서버 주소, 선택적 data 매개변수는 요청 시 전송되는 데이터, callback 매개변수는 데이터 요청 성공 후 실행되는 콜백 함수입니다. .
<body> <div id="divtest"> <div class="title"> <span class="fl">我最喜欢的一项运动</span> <span class="fr"> <input id="btnShow" type="button" value="加载" /> </span> </div> <ul></ul> </div> <script type="text/javascript"> $(function () { $("#btnShow").bind("click", function () { var $this = $(this); $.getJSON("http://www.imooc.com/data/sport.json",function(data){ $this.attr("disabled", "true"); $.each(data, function (index, sport) { if(index==3) $("ul").append("<li>" + sport["name"] + "</li>"); }); }); }) }); </script> </body>
----getScript() 메소드를 사용하여 js 파일을 비동기적으로 로드하고 실행합니다.
서버에서 JavaScript 형식의 파일을 비동기적으로 요청하고 실행하려면 getScript() 메서드를 사용하세요.
jQuery.getScript(url,[콜백]) 또는 $.getScript(url,[콜백])
url 매개변수는 서버 요청 주소이고, 선택적 callback 매개변수는 요청 성공 후 실행되는 콜백 함수입니다.
<body> <div id="divtest"> <div class="title"> <span class="fl">我最喜欢的运动</span> <span class="fr"> <input id="btnShow" type="button" value="加载" /> </span> </div> <ul></ul> </div> <script type="text/javascript"> $(function () { $("#btnShow").bind("click", function () { var $this = $(this); $.getScript("http://www.imooc.com/data/sport_f.js",function(){ $this.attr("disabled", "true"); }); }) }); </script> </body>
----GET 모드에서 서버로부터 데이터를 얻으려면 get() 메서드를 사용하세요.
get() 메소드를 사용할 때 GET 메소드를 사용하여 서버에 데이터를 요청하며, 요청된 데이터는 해당 메소드의 콜백 함수의 매개변수를 통해 반환됩니다.
$.get(url,[콜백])
url 매개변수는 서버 요청 주소이고, 선택적 callback 매개변수는 요청 성공 후 실행되는 콜백 함수입니다.
<body> <div id="divtest"> <div class="title"> <span class="fl">我的个人资料</span> <span class="fr"> <input id="btnShow" type="button" value="加载" /> </span> </div> <ul></ul> </div> <script type="text/javascript"> $(function () { $("#btnShow").bind("click", function () { var $this = $(this); $.get("http://www.imooc.com/data/info_f.php",function(data){ $this.attr("disabled", "true"); $("ul").append("<li>我的名字叫:" + data.name + "</li>"); $("ul").append("<li>男朋友对我说:" + data.say + "</li>"); }, "json"); }) }); </script> </body>
----post() 메소드를 사용하여 서버에서 데이터를 POST하세요
get() 메소드에 비해 post() 메소드는 POST 모드로 서버에 데이터를 전송하는 데 주로 사용됩니다. 서버는 데이터를 수신한 후 이를 처리하고 처리 결과를 페이지에 반환합니다. 형식은 다음과 같습니다.
$.post(url,[데이터],[콜백])
url 매개변수는 서버 요청 주소, 선택적 data는 서버에 요청할 때 전송되는 데이터, 선택적 callback 매개변수는 요청 성공 후 실행되는 콜백 함수입니다.
<body> <div id="divtest"> <div class="title"> <span class="fl">检测数字是否大于0</span> <span class="fr"><input id="btnCheck" type="button" value="检测" /></span> </div> <ul> <li>请求输入一个数字 <input id="txtNumber" type="text" size="12" /></li> </ul> </div> <script type="text/javascript"> $(function () { $("#btnCheck").bind("click", function () { $.post("http://www.imooc.com/data/check_f.php",{ num:$("#txtNumber").val() }, function (data) { $("ul").append("<li>你输入的<b> " + $("#txtNumber").val() + " </b>是<b> " + data + " </b></li>"); }); }) }); </script> </body>
여기서 val()은 jQuery의 함수인 이전 선택자의 값을 가져오기 위한 것입니다
----serialize() 메서드를 사용하여 양식 요소 값을 직렬화합니다
serialize() 메소드를 사용하여 양식의 name 속성으로 요소 값을 직렬화하고 Ajax 요청에 직접 사용할 수 있는 표준 URL 인코딩 텍스트 문자열을 생성합니다.
$(selector).serialize()
선택기 매개변수는 양식에 있는 하나 이상의 요소 또는 양식 요소 자체입니다.
<body> <div id="divtest"> <div class="title"> <span class="fl">我的个人资料</span> <span class="fr"> <input id="btnAction" type="button" value="序列化" /> </span> </div> <form action=""> <ul> <li>姓名:<input name="Text1" type="text" size="12" /></li> <li> <select name="Select1"> <option value="0">男</option> <option value="1">女</option> </select> </li> <li><input name="Checkbox1" type="checkbox" />资料是否可见 </li> <li id="litest"></li> </ul> </form> </div> <script type="text/javascript"> $(function () { $("#btnAction").bind("click", function () { $("#litest").html($("form").serialize()); }) }) </script> </body>
----ajax() 메소드를 사용하여 서버 데이터 로드
ajax() 메소드를 사용하는 것은 서버 데이터를 요청하는 가장 낮고 강력한 방법입니다. 서버에서 반환된 데이터를 얻을 수 있을 뿐만 아니라 서버에 요청을 보내고 값을 전달합니다. :
jQuery.ajax([설정]) 또는 $.ajax([설정])
매개변수 설정은 ajax 요청을 보낼 때의 구성 개체입니다. 이 개체에서 url은 서버가 요청한 경로를 나타내고, data는 요청 중에 전달된 데이터, dataType은 서버가 반환한 데이터 유형, 성공을 나타냅니다. 콜백 함수의 성공적인 실행, 유형은 데이터 요청 전송 방법, 기본값은 가져오기입니다.
<body> <div id="divtest"> <div class="title"> <span class="fl">检测数字的奇偶性</span> <span class="fr"> <input id="btnCheck" type="button" value="检测" /> </span> </div> <ul> <li>请求输入一个数字 <input id="txtNumber" type="text" size="12" /> </li> </ul> </div> <script type="text/javascript"> $(function () { $("#btnCheck").bind("click", function () { $.ajax({ url:"http://www.imooc.com/data/check.php", data: { num: $("#txtNumber").val() }, type:"post", success: function (data) { $("ul").append("<li>你输入的<b> " + $("#txtNumber").val() + " </b>是<b> " + data + " </b></li>"); } }); }) }); </script> </body>
----使用ajaxSetup()方法设置全局Ajax默认选项
使用ajaxSetup()方法可以设置Ajax请求的一些全局性选项值,设置完成后,后面的Ajax请求将不需要再添加这些选项值,它的调用格式为:
jQuery.ajaxSetup([options])或$.ajaxSetup([options])
可选项options参数为一个对象,通过该对象设置Ajax请求时的全局选项值。
<body> <div id="divtest"> <div class="title"> <span class="fl">奇偶性和是否大于0</span> <span class="fr"> <input id="btnShow_1" type="button" value="验证1" /> <input id="btnShow_2" type="button" value="验证2" /> </span> </div> <ul> <li>请求输入一个数字 <input id="txtNumber" type="text" size="12" /> </li> </ul> </div> <script type="text/javascript"> $(function () { $.ajaxSetup({ url:"http://www.imooc.com/data/check.php", data: { num: $("#txtNumber").val() }, type:"post", success:function(data){$("ul").append("<li>你输入的<b> " + $("#txtNumber").val() + " </b>是<b> " + data + " </b></li>"); } }); $("#btnShow_1").bind("click", function () { $.ajax({ data: { num: $("#txtNumber").val() }, url: "http://www.imooc.com/data/check.php" }); }) $("#btnShow_2").bind("click", function () { $.ajax({ data: { num: $("#txtNumber").val() }, url: "http://www.imooc.com/data/check_f.php" }); }) }); </script> </body>
----使用ajaxStart()和ajaxStop()方法
ajaxStart()和ajaxStop()方法是绑定Ajax事件。ajaxStart()方法用于在Ajax请求发出前触发函数,ajaxStop()方法用于在Ajax请求完成后触发函数。它们的调用格式为:
$(selector).ajaxStart(function())和$(selector).ajaxStop(function())
其中,两个方法中括号都是绑定的函数,当发送Ajax请求前执行ajaxStart()方法绑定的函数,请求成功后,执行ajaxStop ()方法绑定的函数。
<body> <div id="divtest"> <div class="title"> <span class="fl">加载一段文字</span> <span class="fr"> <input id="btnShow" type="button" value="加载" /> </span> </div> <ul> <li id="divload"></li> </ul> </div> <script type="text/javascript"> $(function () { $("#divtest").ajaxStart(function(){ $(this).html("正在请求数据..."); }); $("#divtest").ajaxStop(function(){ $(this).html("数据请求完成!"); }); $("#btnShow").bind("click", function () { var $this = $(this); $.ajax({ url: "http://www.imooc.com/data/info_f.php", dataType: "json", success: function (data) { $this.attr("disabled", "true"); $("ul").append("<li>我的名字叫:" + data.name + "</li>"); $("ul").append("<li>男朋友对我说:" + data.say + "</li>"); } }); }) }); </script> </body>
-----jQuery常用插件-----
----表单验证插件——validate
该插件自带包含必填、数字、URL在内容的验证规则,即时显示异常信息,此外,还允许自定义验证规则,插件调用方法如下:
$(form).validate({options})
其中form参数表示表单元素名称,options参数表示调用方法时的配置对象,所有的验证规则和异常信息显示的位置都在该对象中进行设置。
<body> <form id="frmV" method="get" action="#"> <div id="divtest"> <div class="title"> <span class="fl">表单验证插件</span> <span class="fr"> <input id="btnSubmit" type="submit" value="提交" /> </span> </div> <div class="content"> <span class="fl">邮箱:</span><br /> <input id="email" name="email" type="text" /><br /> <span class="tip"></span> </div> </div> </form> <script type="text/javascript"> $(function () { $("#frmV").validate( { /*自定义验证规则*/ rules: { email:{ required:true, email:true } } }, /*错误提示位置*/ errorPlacement: function (error, element) { error.appendTo(".tip"); } } ); }); </script> </body> </html>