您好,登錄后才能下訂單哦!
小編這次要給大家分享的是jQuery如何使用AJAX,文章內容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。
AJAX
是指一種創建交互式網頁應用的網頁開發技術。
AJAX=異步JavaScript和XML(標準通用標記語言的子集)。
AJAX是一種用于創建快速動態網頁的技術。
AJAX是一種在無需重新加載整個網頁的情況下,能夠更新部份網頁的技術。
通過在后臺與服務器進行少量數據交換,AJAX可以使用網頁實現異步更新。這意味著可以在不重新加載整個網頁的情況下,對網頁的某部分進行更新,也就是:按需更新。
<script> $(document).ready(function() { //獲取頁面中所有a元素中的第一個,并添加點擊事件 document.getElementByTagName('a')[0].οnclick=function() { //1、獲取XHR對象 var request = new XMLHttpRequest(); //2、配置AJAX請求參數:請求類型,請求的URL資源,請求方式,默認為true,即異步 request.open('GET','URL',true); request.open('GET',this.href+'?'+(new Date()),true);//每次請求都是最新數據 //3、將AJAX請求發送到服務器,GET請求不需要參數,可以傳空或null request.send(); //4、AJAX對象的事件屬性onreadystatechange,不斷監聽服務器端的響應 request.onreadystatechange = function() { //當請求狀態為4,且響應碼為200時,表示服務器響應成功,并返回了用戶數據 if (request.readyState == 4 && request.status == 200) { //根據數據類型,更新當前頁面中的DOM節點信息 document.getElementByTagName('h4')[0].innerHTML=request.responseText; } }; return false;//取消a元素的默認點擊行為 }; }); </script> <body> <a href=''></a> <h4></h4> </body>
<script> $(document).ready(function() { //獲取頁面中所有a元素,并添加點擊事件 var aNodes = getElementByTagName('a'); //獲取當前頁面需要更新的DOM節點 var content = getElementById('content'); //給所有a元素添加點擊事件,每個鏈接都會訪問到一個不同的html文件 for (var i=0;i<aNodes.length;i++) { aNodes[i].onclick = function { //1、獲取XHR對象 var request = new XMLHttpRequest(); //2、配置AJAX請求參數:請求類型,請求的URL資源,請求方式,默認為true,即異步 //request.open('GET','URL',true); request.open('GET',this.href+'?'+(new Date()),true);//每次請求都是最新數據 //3、將AJAX請求發送到服務器,GET請求不需要參數,可以傳空或null request.send(); //4、AJAX對象的事件屬性onreadystatechange,不斷監聽服務器端的響應 request.onreadystatechange = function() { //當請求狀態為4,且響應碼為200時,表示服務器響應成功,并返回了用戶數據 if (request.readyState == 4 && request.status == 200) { //根據數據類型,更新當前頁面中的DOM節點信息 document.getElementByTagName('h4')[0].innerHTML=request.responseText; } return false;//取消a元素的默認點擊行為 } }; }); </script> <body> <a href='1.html'></a> <a href='2.html'></a> <a href='3.html'></a> <div id='content'></div> </body>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>AJAX---xml</title> <script src="jQuery/jquery-1.8.3.min.js"></script> <script type="text/javascript"> $(document).ready(function() { //獲取頁面中所有a元素中的第一個,并添加點擊事件 document.getElementsByTagName('a')[0].οnclick=function() { //1、獲取XHR對象 var request = new XMLHttpRequest(); //2、配置AJAX請求參數:請求類型,請求的URL資源,請求方式,默認為true,即異步 // request.open('GET','URL',true); request.open('GET',this.href+'?='+(new Date()),true);//每次請求都是最新數據 //3、將AJAX請求發送到服務器,GET請求不需要參數,可以傳空或null request.send(); //4、AJAX對象的事件屬性onreadystatechange,不斷監聽服務器端的響應 request.onreadystatechange = function() { //當請求狀態為4,且響應碼為200時,表示服務器響應成功,并返回了用戶數據 if (request.readyState == 4 && request.status == 200) { var result = request.responseXML; //解析當前XML文件中的每個節點數據,保存到對應變量中,XML支持所有DOM操作 var name = result.getElementsByTagName('name')[0].childNodes[0].nodeValue; var age = result.getElementsByTagName('age')[0].childNodes[0].nodeValue; var job = result.getElementsByTagName('job')[0].childNodes[0].nodeValue; //根據數據類型,更新當前頁面中的DOM節點信息 document.getElementById('name').innerHTML=name; document.getElementById('age').innerHTML=age; document.getElementById('job').innerHTML=job; } }; return false;//取消a元素的默認點擊行為 }; }); </script> </head> <body> <a href="1.xml" rel="external nofollow" >我的信息</a> <div> <p id='name'></p> <p id='age'></p> <p id='job'></p> </div> </body> </html>
xml文件:
<?xml version="1.0" encoding="UTF-8" ?> <info> <name>Zhang</name> <age>28</age> <job>php</job> </info>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>JSON</title> <script src="jQuery/jquery-1.8.3.js"></script> <script type="text/javascript"> $(document).ready(function() { document.getElementById('btn').onclick = function(event) { //第一種 var data = { 'name':'zhang', 'age':'28', 'hobby':['跑步','睡覺'], 'job':{ 'php':'Mysql', 'html':'jQuery' } }; //第二種 var json = '{\ "name":"zhang",\ "age":"28",\ "hobby":["跑步","睡覺"],\ "job":{\ "php":"Mysql",\ "html":"jQuery",\ }\ }'; var data = eval('('+json+')'); document.getElementById('name').innerHTML=data.name; document.getElementById('age').innerHTML=data.age; document.getElementById('hobby').innerHTML=data.hobby[1]; document.getElementById('job').innerHTML=data.job.php; //第三種 var request = new XMLHttpRequest; request.open('GET','demo.json',true); request.send(null); request.onreadystatechange = function() { if (request.readyState==4 && request.status==200) { var data = JSON.parse(request.responseText); document.getElementById('name').innerHTML=data.name; document.getElementById('age').innerHTML=data.age; document.getElementById('hobby').innerHTML=data.hobby[1]; document.getElementById('job').innerHTML=data.job.php; } } } }); </script> </head> <body> <button type="button" name="button" id="btn">我的信息</button> <p id="name"></p> <p id="age"></p> <p id="hobby"></p> <p id="job"></p> </body> </html>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>$.ajax()</title> <script src="jQuery/jquery-1.8.3.min.js"></script> <script type="text/javascript"> $(function() { $('#btn').click(function() { $.ajax({ type:'GET',//http的請求方法 url:'demo.json',//要獲取數據的URL data:null,//不給URL添加任何數據 dataType:'json',//將獲取到的數據當作JSON類型處理 success:function(data) {//完成時調用 $('#name').text(data.name); $('#age').text(data.age); $('#hobby').text(data.hobby[1]); $('#job').text(data.job.php); }, error:function(data) {//失敗時調用 alert('獲取失敗!'); } }); }); }); </script> </head> <body> <button type="button" name="button" id="btn">我的信息</button> <p id="name"></p> <p id="age"></p> <p id="hobby"></p> <p id="job"></p> </body> </html>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>get</title> <script src="jQuery/jquery-1.8.3.min.js"></script> <script type='text/javascript'> $(function() { $('button').click(function() { //1、獲取純文本文件的內容 $('div').load('hello.txt'); //2、獲取html文件的內容,可以使用jquery選擇器,按需獲取 $('div').load('hello.html');//獲取html文件全部內容 $('div').load('hello.html li:first','?'+(new Date()));//獲取第一個li的內容 $('div').load('hello.html li:eq(2)');/獲取索引為2的li內容 $('div').load('hello.html li:odd','?'+(new Date()));//獲取全部li中索引為奇數的內容 //3、獲取XML中的數據,與訪問HTML一樣,也可以使用選擇器 $('div').load('1.xml');//返回xml,全部同行顯示 $('div').load('1.xml work');//顯示指定標簽名的數據 $('div').load('1.xml work',function() { $(this).css('color','red'); });//可以使用回調函數 //4、獲取JSON數據,json不能直接使用,必須通過回調函數來進行解析后再使用 $('div').load('demo.json',function(data) { //將獲取到的json字符串解析為js對象 var jsonObj = JSON.parse(data); $(this).empty() $(this).append('<p>姓名:<span>'+jsonObj.name"'</span></p>') }); }); }); </script> </head> <body> <button type="button" name="button">測試</button> <div id="con"></div> </body> </html>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>get</title> <script src="jQuery/jquery-1.8.3.min.js"></script> <script type="text/javascript"> $(function() { $('button').click(function(event) { //1、從服務器中返回純文本或html $.get('1.php',function(data) { $('#con').html(data); }); //2、服務器返回XML格式數據 $.get('1.php',function(data) { //將XML數據轉為jQuery對象,并獲取內部的數據 var name = $(data).children('name').text(); //將解析出的數據拼接成需要顯示的html代碼 var html = '<p>'+name+'</p>'; //將html代碼插入到指定節點 $('#con').html(html); }); //3、服務器返回JSON格式數據 $.get('1.php',function(data) { var jsonObj = JSON.parse(data);//返回一個JSON格式字符串,需要先解析成JS對象 $('#con').empty().append('<p>姓名:'+jsonObj.name+'</p>'); }); }); }); </script> </head> <body> <button type="button" name="button">測試</button> <div id="con"></div> </body> </html>
1.php:
<php echo 'hello world!';//純文本 //XML格式數據 echo <<<'XML' <?xml version="1.0" encoding="UTF-8" ?> <info> <name>Zhang</name> <age>28</age> <job>php</job> </info> XML; //JSON格式數據 echo '{"name":"zhang","age":"28","hobby":["跑步","睡覺"],"job":{"php":"Mysql","html":"jQuery"}}'; >
<script> $.getJson('1.php',function(data) { $('#con').empty().append('<p>姓名:'+data.name+'</p>'); }); </script>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>post</title> <script src="jQuery/jquery-1.8.3.min.js"></script> <script type="text/javascript"> $(function() { $('#name').change(function(event) { $.post( 'check.php', { 'name':$(this).val() }, function(data) { console.log(data); $('#name').next().empty(); $('#name').after(data); } ); }); $('#sub').click(function(event) { var name = $('#name').val(); if ('' == name && null == name) { $('#name').after('<span>用戶名不能為空</span>'); return false; } }); }); </script> </head> <body> <form action="" method="post"> 姓名:<input type="text" name="name" value='' id='name'><br/> 密碼:<input type="password" name="password" value="" id='ps'><br> <input type="submit" name="" value='提交' id='sub'> <input type="reset" name=""> </form> </body> </html>
check.php
<php $info = $_POST; $name = isset($info['name']) ? $info['name'] : ''; $arr_name = ['zhang','li']; if (!empty($name) && in_array($name, $arr_name)) { echo '<script>alert("名稱已存在");window.history.back(-1);</script>'; } elseif (empty($name)) { echo '<script>alert("不可為空");window.history.back(-1);</script>'; } else { echo '<span >名稱可用</span>'; } >
看完這篇關于jQuery如何使用AJAX的文章,如果覺得文章內容寫得不錯的話,可以把它分享出去給更多人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。