이 기사의 예에서는 jQuery에서 ajax의 load() 및 post() 메소드를 설명합니다. 참고하실 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.
1.load() 메소드
jQuery ajax의 load() 메소드는 원격 HTML 파일 코드를 로드하여 DOM에 삽입할 수 있습니다. 이는 여전히 post 및 get과 약간 다르지만 페이지의 html을 빠르게 로드하고 저장할 수 있습니다. DOM 및 실행 파일.
load() 메소드는 기본적으로 GET 메소드를 사용합니다. data 매개변수가 전달되면 Post 메소드가 사용됩니다.
추가 매개변수를 전달하면 자동으로 POST 모드로 전환됩니다. jQuery 1.2에서는 로드된 HTML 문서를 필터링하기 위한 선택기를 지정할 수 있으며 필터링된 HTML 코드만 DOM에 삽입됩니다. 구문은 "url #some > selector"와 같으며 기본 선택기는 "body>*"입니다.
설명:
load는 가장 간단한 Ajax 함수이지만 사용에는 제한이 있습니다.
1. 주로 HTML을 직접 반환하는 Ajax 인터페이스에 사용됩니다
2. Load는 jQuery 래퍼에서 호출되어야 하는 jQuery 래퍼 메서드이며 반환된 HTML을 개체에 로드합니다. 콜백 함수가 설정되어 있더라도 로드 인터페이스가 교묘하게 설계되고 사용하기 쉽다는 것은 부인할 수 없습니다. 다음은 예입니다. Load 인터페이스 사용을 보여줍니다.
load() 함수:
함수 소개: load(url, [data], [callback]) 반환 값: jQuery
매개변수 설명:
url: 로드할 HTML 웹페이지의 URL입니다.
data: (선택적 매개변수) 서버로 전송되는 키/값 데이터입니다.
callback: (선택 매개변수) 로딩이 성공했을 때의 콜백 함수입니다.
아래에 데모 예시가 나와 있습니다.
먼저 로드해야 하는 test.html 파일을 만듭니다.
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>ajax演示</title> </head> <body> 脚本之家(www.jb51.net),提供大量脚本及素材供大家下载! </body> </html>
그런 다음 ajax.html 파일을 만들고 jquery를 도입하는 것을 잊지 마세요.
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript" src="./jquery-1.7.1.min.js"></script> <script> $(document).ready(function(){ $("#btn").click(function(){ $("#result").load("test.html",function(responseText,textStatus){ $("#display").append("<hr>responseText:"+responseText); $("#display").append("<hr>textStatus:"+textStatus); }); }); }); </script> </head> <body> <input type="button" value="测试" id="btn" /> <h2>显示的内容如下:</h2> <div id="result"></div> <h2>结果:</h2> <div id="display"></div> </body> </html>
위의 예에서는 Load 메서드를 사용하는 방법을 보여줍니다.
팁:
① 브라우저 캐싱에 항상 주의해야 합니다. GET 메서드를 사용할 때는 브라우저 캐싱을 피하기 위해 전송되는 URL이 매번 달라지도록 타임스탬프 매개변수(net Date()).getTime()을 추가해야 합니다.
② url 매개변수 뒤에 " " 등 공백을 추가하면 "인식할 수 없는 기호" 오류가 발생하며 요청은 여전히 정상적으로 전송되지만 HTML이 DOM에 로드되지 않는 문제가 있습니다. 삭제하면 해결됩니다.
2. post() 메소드
jquery의 Ajax에는 두 가지 데이터 전송 모드가 있습니다. 하나는 이전 기사에서 언급한 get()이고 다른 하나는 post()입니다. 다시한번 소개해드리겠습니다. 더 알고 싶은 친구들은 참고하시면 됩니다.
우선 jQuery.post(url, [data], [callback], [type])을 알아야 합니다
매개변수 설명:
url: 요청 주소를 보냅니다.
data: 전송할 키/값 매개변수입니다.
callback: 전송 성공 시 콜백 함수입니다.
유형: 콘텐츠 형식, xml, html, 스크립트, json, 텍스트, _default를 반환합니다.
설명:
원격 HTTP POST 요청을 통해 정보를 로드합니다.
복잡한 $.ajax를 대체하는 간단한 POST 요청 함수입니다. 요청이 성공하면 콜백 함수를 호출할 수 있습니다. 오류 발생 시 함수를 실행해야 하는 경우 $.ajax를 사용하세요.
먼저 간단한 예를 살펴보겠습니다
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript" src="./jquery-1.7.1.min.js"></script> <script> $(document).ready(function(){ $("#sub").click(function(){ $.post("testPost.php",{name:$("#name").val()},function(data,textStatus){ $("#result").append("data:"+data.name); $("#result").append("<br>textStatus:"+textStatus); },"json"); return false; }); }); </script> </head> <body> <form action="testPost.php" method="post"> <input type="text" name="name" id="name" > <input type="submit" id="sub" value="提交"> </form> <h2>显示的内容如下:</h2> <div id="result"></div> </body> </html>
사용법 2: (게시물 데이터를 클릭하면 데이터가 반환됩니다.)
<input type="button" id="bnajax" value="ajax" onclick="ajaxTest()" /> <script type="text/javascript" > function ajaxTest() { $.post("http://localhost:8012/t.asp", { "txt": "123" },function(data) { $("#divMsg").html(data); } ); } </script>
예시 3
JS 코드:
<script> $(document).ready(function(){ $(".ajax_btn").click(function(){ $.post("ajax.php",//异步处理动态页面 {name:$(".name").val()},//获取类名为"name"文本的值,以NAME异步传值 function(data){//data为反回值,function进行反回值处理 $(".content").val(data);//获得得反回值后,将其填入到类名为"content"的文本框中 }); }) }) </script>
ajax.php 코드:
<?php $name=$_POST["name"]; if($name=="netxu"){ echo "对不起,".$name."数据存在"; } else{ echo "恭喜你,".$name."可以使用"; } ?>
이 기사가 jQuery 프로그래밍에 종사하는 모든 사람에게 도움이 되기를 바랍니다.