JavaScript中的ajax功能的概念和示例詳解
AJAX即“Asynchronous Javascript And XML”(異步JavaScript和XML)。
個人理解:ajax就是無刷新提交,然后得到返回內(nèi)容。
對應(yīng)的不使用ajax時的傳統(tǒng)網(wǎng)頁如果需要更新內(nèi)容(或用php做處理時),必須重載整個網(wǎng)頁頁面。
示例:
html代碼如下
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Ajax示例</title> <style> #loginForm { border-collapse: collapse; } #loginForm,#loginForm td { border:#550 1px solid; text-align:center; } </style> </head> <body> <table id="loginForm"> <tr> <td>用戶名:</td> <td><input type="text" id="userName"/></td> </tr> <tr> <td>密碼:</td> <td><input type="password" id="password"/></td> </tr> <tr> <td colspan=2><input id="submitBtn" type="submit" value="ajax提交"/></td> </tr> </table> <script type="text/javascript" language="javascript"> document.getElementById('submitBtn').addEventListener('click', clickSubmit); function clickSubmit() { makeRequest('./test.php'); } var req = false; /** * 創(chuàng)建ajax請求 * url 處理請求的php位置 */ function makeRequest(url) { req = false; //創(chuàng)建一個XMLHTPP實(shí)例 if (window.XMLHttpRequest) { // ie9以上和w3c瀏覽器的對象 req = new XMLHttpRequest(); if (req.overrideMimeType) { //如果服務(wù)器的響應(yīng)沒有XML mime-type header,某些Mozilla瀏覽器可能無法正常工作. //為了解決這個問題, 如果服務(wù)器響應(yīng)的header不是text/xml,可以調(diào)用其它方法修改該header. req.overrideMimeType('text/xml'); } } else if (window.ActiveXObject) { // IE678專用 try { req = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { alert('new window.ActiveXObject() failed!'); } } if (!req) { alert('Giving up :( Cannot create an XMLHTTP instance'); return false; } //指定處理響應(yīng)的JavaScript函數(shù)名. req.onreadystatechange = alertContents; //測試傳遞 用戶名和密碼 var user_name = document.getElementById('userName').value; var user_pwd = document.getElementById('password').value; //open(請求方式,準(zhǔn)確的本域域名,是否異步); //GET或POST方式 //----GET方式請求------ //req.open('GET', url+'?user_name='+user_name+'&user_pwd='+user_pwd, true); //req.send(null); //----POST方式請求------ //發(fā)送請求 如果open是POST方式可以發(fā)送字符串給服務(wù)器,也可以在open的第二個參數(shù)同時加上get傳輸 ////req.open('POST', url+'?get1='+user_name+'&get2='+user_pwd, true); req.open('POST', url, true); req.setRequestHeader("Content-type","application/x-www-form-urlencoded"); req.send('user_name='+user_name+'&user_pwd='+user_pwd); } /** * ajax請求的回調(diào)處理函數(shù) */ function alertContents() { if (req.readyState == 4) { console.log(req.status); if (req.status == 200) { alert(req.response); } else { alert('There was a problem with the request.'); } } } </script> </body> </html>
./test.php代碼如下
<?php header('content-type:text/html;charset=utf-8'); var_dump($_POST);//獲取到post傳遞的數(shù)據(jù) var_dump($_GET);
以上所述是小編給大家介紹的JavaScript中的ajax功能的概念和示例詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
JS運(yùn)算符優(yōu)先級與表達(dá)式示例詳解
這篇文章主要給大家介紹了關(guān)于JS運(yùn)算符優(yōu)先級與表達(dá)式的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09json的結(jié)構(gòu)與遍歷方法實(shí)例分析
這篇文章主要介紹了json的結(jié)構(gòu)與遍歷方法,結(jié)合具體實(shí)例形式分析了json常見的簡單與復(fù)雜結(jié)構(gòu)表示方法,以及具體的遍歷操作實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-04-04JavaScript?setTimeout和setInterval的用法與區(qū)別詳解
Javascript的setTimeOut和setInterval函數(shù)應(yīng)用非常廣泛,它們都用來處理延時和定時任務(wù),下面這篇文章主要給大家介紹了關(guān)于JavaScript?setTimeout和setInterval的用法與區(qū)別,需要的朋友可以參考下2022-04-04js項(xiàng)目中添加ts支持實(shí)現(xiàn)示例詳解
這篇文章主要為大家介紹了如何在js項(xiàng)目中添加ts支持實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08javascript實(shí)現(xiàn)淘寶幻燈片廣告展示效果
這篇文章主要介紹了javascript實(shí)現(xiàn)淘寶幻燈片廣告展示效果的方法,以實(shí)例形式完整講述了javascript實(shí)現(xiàn)幻燈效果的javascript、css及html實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-04-04js判斷radiobuttonlist的選中值顯示/隱藏其它模塊的實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄猨s判斷radiobuttonlist的選中值顯示/隱藏其它模塊的實(shí)現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-08-08javascript substr和substring用法比較
在js中substring和substr都是用來截取字符串的,那么substring和substr之間的具體區(qū)別在哪里,有沒有區(qū)別呢,下面我來給各位詳細(xì)引用一些實(shí)例來介紹這些問題2009-06-06