這次小編給大家整理了jQuery之AJAX的知識點,下面就是知識點匯總,一起來看一下。
一.AJAX概念
Asynchronous Javascript And XML(非同步JavaScript和XML)
AJAX並不是一種語言,而是一種創建互動網頁應用的網頁開發技術
AJAX是Javascript、XHTML和CSS、DOM、XML和XSTL、XMLHttpRequest 等技術的組合
1.使用XHTML+CSS來標準化呈現;
2.使用XML和XSLT進行數據交換及相關操作;
3.使用XMLHttpRequest物件與Web伺服器進行非同步資料通訊;
4.使用Javascript操作Document Object Model(網路文檔物件模型)進行動態顯示及互動;
5.使用JavaScript綁定與處理所有資料
什麼是XML?
XML 指可擴充標記語言(EXtensible Markup Language)
XML 是一種標記語言,很類似HTML
XML 的設計宗旨是傳輸數據,而非顯示數據
XML 標籤則沒有被預先定義。您需要自行定義標籤。
XML 被設計為具有自我描述性。
XML 是 W3C 的建議標準
什麼是 XSLT?
XSLT 指XSL 轉換(XSL Transformations)[1]
XSLT 是XSL 中最重要的部分
XSLT 可將一種XML 文件轉換為另外一種XML 文件
XSLT 使用XPath 在XML文件中進行導覽
XSLT 是一個W3C 標準
AJAX核心物件是XMLHttpRequest
二.AJAX工作原理
#使用者操作流程:
使用者瀏覽器->JavaScript實例化XmlHttpRequest物件->AJAX引擎->http請求->web伺服器->後台業務系統
系統返回流程:
後台業務系統->後台伺服器->web伺服器->HTML,XML,JSON資料->AJAX引擎->HTML+CSS(Wel瀏覽器)->使用者瀏覽器
三.AJAX優缺點:
AJAX非同步處理優點:
減輕伺服器的負擔,AJAX一般只從伺服器取得只需要的資料
無重新整理頁面更新,減少使用者等待的時間
更好的客戶體驗,可以將一些伺服器的工作轉移到客戶端來完成,節省網路資源,提高使用者體驗
無平台限制
促進顯示與資料想分離
AJAX非同步處理的缺點:
頁面中存在大量JS,給搜尋引擎帶來困難
AJAX幹掉了Back和History功能,即對瀏覽器機制的破壞
存在跨域問題
只能傳送及接收utf-8編碼資料
#1.AJAX實作步驟
window.open(URL,name,features,replace)
URL:一個可選的字串,宣告了要在新視窗中顯示的文件的URL。如果省略了這個參數
或它的值是空字串,那麼新視窗就不會顯示任何文件
name:一個可選的字串,該字串是一個由逗號分隔的特徵列表,其中包括數字、字母和下劃線,
該字元聲明了新視窗的名稱。這個名稱可以用作標記 和
if (window.XMLHttpRequest) {// Mozilla, Safari, ... var http_request = new XMLHttpRequest(); } else if (window.ActiveXObject) { // IE 5 ,6 var http_request = new ActiveXObject("Microsoft.XMLHTTP"); }
XMLHttpRequest發出HTTP請求
http_request.open("GET|POST","test.php?GET方式传值",true); http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); //仅POST请求时需要设置 //用于向一个已经连接的socket发送数据 //如果是POST传输方式要把值写在send()函数里 http_request.send(向一个已连接的套接口发送数据); XMLHttpRequest取得响应数据并显示 http_request.onreadystatechange=function(){ if(http_request.readyState==4 && http_request.status==200){ $("p").text(http_request.responseText) } }
範例:
//GET方式
參數1:代表是以get還是post方式傳送請求 參數2:傳送請求給哪一個url 參數3:true代表非同步請求,false代表同步請求
http_request.open("GET","test.php?user_name="+username.val(),true); http_request.send();
#發送POST請求
var username=$("input[name='user_name']");
參數1:代表是以get還是post方式發送請求 參數2 :傳送請求給哪個url 參數3:true代表非同步請求,false代表同步請求
http_request.open("POST","test.php",true); http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
如果是POST傳輸方式要把值寫在send()函數裡
http_request.send({username:username});
四.JSON
Javascript Object Notation,是一種輕量級的資料交換格式
JSON每種語言都認識他所以用他進行各種語言的資料的轉換
JSON支援多種語言
格式
{key:value,key:value,.....} 物件格式
[{key:value,key:value,.. ...},{key:value,key:value,.....},......] 數組格式
PHP處理:
$json=json_encode($array) //對變數進行Json編碼
$array=json_decode($json) //將Json資料解碼轉換成PHP變數
JavaScript處理:
eval('('+json+')') //將某個字串依照JS程式碼來執行
範例:
eval("x=10;y=20;document.write(x*y)") document.write(eval("2+2")) JSON.parse(json) //对传过来的json字符串进行解码,变成JS认识的对象 JSON.stringify(obj) //将JS中的值编译成json字符串
五.jQuery中AJAX應用1
.不要忘寫
##
$.ajax({ //你要传的php文件的路径 url:"test1.php", ('服务器url地址') //以get方式传输拼接字符串 data:"user_name="+$('input[name="user_name"]').val(),('名=值&名=值&.....',) //以什么方式传输 type:'get',('post|get') //传输返回的数据类型 dataType:'json', ('xml|html|text|json|script') //展示 数据的方式 success:function(res){ $('h1').text('用户名为:'+res.user_name); }, //错误信息 error:function(xhr){ }, timeout:2000, async:true, cache:false })六.jQuery中AJAX應用2
$.get() $.get('服务器url地址',"json格式或字符串格式",function(res){ //处理返回的数据 }), "xml|html|json|text|script")例:
#
//'服务器url地址',"json格式或字符串格式" $.get("test1.php",{user_name:$("input[name='user_name']").val()},function(data){ //如果后台发过来的值跟这里的值相等让他执行下面代码 if(data.status=='ok'){ alert("登陆成功"); location.href="http://www.wl.com"; }else{ alert("登陆失败"); } //"xml|html|json|text|script"类型 },'json')
七.jQuery中AJAX應用3#serialize( ) 序列表表格內容為字串,串列化資料用於Ajax 請求
$.post() $.post('服务器url地址',"json格式或字符串格式",function(res){ //处理返回的数据 }), "xml|html|json|text|script")#範例:
//'服务器url地址',"json格式或字符串格式" 用post方式提交要用form表单包起来 // 然后用serialize()来拿里面所有有值 $.post("test1.php",$('form').serialize(),function(res){ //如果后台发过来的值跟这里的值相等让他执行下面代码 if(res.status=='ok'){ alert("登陆成功"); location.href="http://www.wl.com"; }else{ alert("登陆失败"); } //"xml|html|json|text|script"类型 },'json')php中接收處理輸出
#
try{ $pdo=new PDO("mysql:host=127.0.0.1;port=3306;dbname=数据库名",'数据库账号','数据库密码'); $pdo->exec("set names utf8"); $sen=$pdo->query("select * from yh_admin where user_name='{$user_name}' limit 1"); if($sen->rowCount()>0){ // $arr=$sen->fetch(PDO::FETCH_ASSOC); //echo json_encode($arr); //echo 'yes'; $arr['status']='ok'; }else{ echo 'no'; } //切记用json数据类型传输 echo json_encode($arr); }catch (PDOException $e){ echo $e->getMessage(); }
以上是jQuery之AJAX的知識點總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!

C 和JavaScript通過WebAssembly實現互操作性。 1)C 代碼編譯成WebAssembly模塊,引入到JavaScript環境中,增強計算能力。 2)在遊戲開發中,C 處理物理引擎和圖形渲染,JavaScript負責遊戲邏輯和用戶界面。

JavaScript在網站、移動應用、桌面應用和服務器端編程中均有廣泛應用。 1)在網站開發中,JavaScript與HTML、CSS一起操作DOM,實現動態效果,並支持如jQuery、React等框架。 2)通過ReactNative和Ionic,JavaScript用於開發跨平台移動應用。 3)Electron框架使JavaScript能構建桌面應用。 4)Node.js讓JavaScript在服務器端運行,支持高並發請求。

Python更適合數據科學和自動化,JavaScript更適合前端和全棧開發。 1.Python在數據科學和機器學習中表現出色,使用NumPy、Pandas等庫進行數據處理和建模。 2.Python在自動化和腳本編寫方面簡潔高效。 3.JavaScript在前端開發中不可或缺,用於構建動態網頁和單頁面應用。 4.JavaScript通過Node.js在後端開發中發揮作用,支持全棧開發。

C和C 在JavaScript引擎中扮演了至关重要的角色,主要用于实现解释器和JIT编译器。1)C 用于解析JavaScript源码并生成抽象语法树。2)C 负责生成和执行字节码。3)C 实现JIT编译器,在运行时优化和编译热点代码,显著提高JavaScript的执行效率。

JavaScript在現實世界中的應用包括前端和後端開發。 1)通過構建TODO列表應用展示前端應用,涉及DOM操作和事件處理。 2)通過Node.js和Express構建RESTfulAPI展示後端應用。

JavaScript在Web開發中的主要用途包括客戶端交互、表單驗證和異步通信。 1)通過DOM操作實現動態內容更新和用戶交互;2)在用戶提交數據前進行客戶端驗證,提高用戶體驗;3)通過AJAX技術實現與服務器的無刷新通信。

理解JavaScript引擎內部工作原理對開發者重要,因為它能幫助編寫更高效的代碼並理解性能瓶頸和優化策略。 1)引擎的工作流程包括解析、編譯和執行三個階段;2)執行過程中,引擎會進行動態優化,如內聯緩存和隱藏類;3)最佳實踐包括避免全局變量、優化循環、使用const和let,以及避免過度使用閉包。

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

禪工作室 13.0.1
強大的PHP整合開發環境

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

SublimeText3漢化版
中文版,非常好用