摘要:一概述什么是同步,什么是異步同步現(xiàn)象客戶端發(fā)送請(qǐng)求到服務(wù)器端,當(dāng)服務(wù)器返回響應(yīng)之前,客戶端都處于等待卡死狀態(tài)異步現(xiàn)象客戶端發(fā)送請(qǐng)求到服務(wù)器端,無論服務(wù)器是否返回響應(yīng),客戶端都可以隨意做其他事情,不會(huì)被卡死的運(yùn)行原理頁面發(fā)起請(qǐng)求,會(huì)將請(qǐng)求發(fā)送
一、Ajax概述
1.什么是同步,什么是異步
同步現(xiàn)象:客戶端發(fā)送請(qǐng)求到服務(wù)器端,當(dāng)服務(wù)器返回響應(yīng)之前,客戶端都處于等待 卡死狀態(tài)
異步現(xiàn)象:客戶端發(fā)送請(qǐng)求到服務(wù)器端,無論服務(wù)器是否返回響應(yīng),客戶端都可以隨 意做其他事情,不會(huì)被卡死
2.Ajax的運(yùn)行原理
頁面發(fā)起請(qǐng)求,會(huì)將請(qǐng)求發(fā)送給瀏覽器內(nèi)核中的Ajax引擎,Ajax引擎會(huì)提交請(qǐng)求到 服務(wù)器端,在這段時(shí)間里,客戶端可以任意進(jìn)行任意操作,直到服務(wù)器端將數(shù)據(jù)返回 給Ajax引擎后,會(huì)觸發(fā)你設(shè)置的事件,從而執(zhí)行自定義的js邏輯代碼完成某種頁面1 功能。
二、js原生的Ajax技術(shù)(了解)
js原生的Ajax其實(shí)就是圍繞瀏覽器內(nèi)內(nèi)置的Ajax引擎對(duì)象進(jìn)行學(xué)習(xí)的,要使用js原 生的Ajax完成異步操作,有如下幾個(gè)步驟:
1)創(chuàng)建Ajax引擎對(duì)象
2)為Ajax引擎對(duì)象綁定監(jiān)聽(監(jiān)聽服務(wù)器已將數(shù)據(jù)響應(yīng)給引擎)
3)綁定提交地址
4)發(fā)送請(qǐng)求
5)接受響應(yīng)數(shù)據(jù)
注意:如果是post提交
在發(fā)送請(qǐng)求之前設(shè)置一個(gè)頭
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
總結(jié):
所用異步訪問都是ajax引擎
三、Json數(shù)據(jù)格式(重要)
json是一種與語言無關(guān)的數(shù)據(jù)交換的格式,作用:
使用ajax進(jìn)行前后臺(tái)數(shù)據(jù)交換
移動(dòng)端與服務(wù)端的數(shù)據(jù)交換
1.Json的格式與解析
json有兩種格式:
1)對(duì)象格式:{"key1":obj,"key2":obj,"key3":obj...}
2)數(shù)組/集合格式:[obj,obj,obj...]
例如:user對(duì)象 用json數(shù)據(jù)格式表示
{"username":"zhangsan","age":28,"password":"123","addr":"北京"}
List
[{"pid":"10","pname":"小米4C"},{},{}]
注意:對(duì)象格式和數(shù)組格式可以互相嵌套
注意:json的key是字符串 jaon的value是Object
json的解析:
json是js的原生內(nèi)容,也就意味著js可以直接取出json對(duì)象中的數(shù)據(jù)
2.Json的轉(zhuǎn)換插件
將java的對(duì)象或集合轉(zhuǎn)成json形式字符串
json的轉(zhuǎn)換插件是通過java的一些工具,直接將java對(duì)象或集合轉(zhuǎn)換成json字符串。
常用的json轉(zhuǎn)換工具有如下幾種:
1)jsonlib
2)Gson:google
3)fastjson:阿里巴巴
四、Jquery的Ajax技術(shù)(重點(diǎn))
jquery是一個(gè)優(yōu)秀的js框架,自然對(duì)js原生的ajax進(jìn)行了封裝,封裝后的ajax的操 作方法更簡(jiǎn)潔,功能更強(qiáng)大,與ajax操作相關(guān)的jquery方法有如下幾種,但開發(fā)中 經(jīng)常使用的有三種
1)$.get(url, [data], [callback], [type])
2)$.post(url, [data], [callback], [type])
其中:
url:代表請(qǐng)求的服務(wù)器端地址
data:代表請(qǐng)求服務(wù)器端的數(shù)據(jù)(可以是key=value形式也可以是json格式)
callback:表示服務(wù)器端成功響應(yīng)所觸發(fā)的函數(shù)(只有正常成功返回才執(zhí)行)
type:表示服務(wù)器端返回的數(shù)據(jù)類型(jquery會(huì)根據(jù)指定的類型自動(dòng)類型轉(zhuǎn)換)
常用的返回類型:text、json、html等
3)$.ajax( { option1:value1,option2:value2... } ); ---- 以后在掌握
常用的option有如下:
async:是否異步,默認(rèn)是true代表異步
data:發(fā)送到服務(wù)器的參數(shù),建議使用json格式
dataType:服務(wù)器端返回的數(shù)據(jù)類型,常用text和json
success:成功響應(yīng)執(zhí)行的函數(shù),對(duì)應(yīng)的類型是function類型
type:請(qǐng)求方式,POST/GET
url:請(qǐng)求服務(wù)器端地址
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/72466.html
摘要:開公眾號(hào)差不多兩年了,有不少原創(chuàng)教程,當(dāng)原創(chuàng)越來越多時(shí),大家搜索起來就很不方便,因此做了一個(gè)索引幫助大家快速找到需要的文章系列處理登錄請(qǐng)求前后端分離一使用完美處理權(quán)限問題前后端分離二使用完美處理權(quán)限問題前后端分離三中密碼加鹽與中異常統(tǒng)一處理 開公眾號(hào)差不多兩年了,有不少原創(chuàng)教程,當(dāng)原創(chuàng)越來越多時(shí),大家搜索起來就很不方便,因此做了一個(gè)索引幫助大家快速找到需要的文章! Spring Boo...
摘要:跨域是瀏覽器攔截了服務(wù)器端返回的相應(yīng),不是攔截了請(qǐng)求。通過來實(shí)現(xiàn)跨域使用來實(shí)現(xiàn)跨域可以解決下不能跨域的問題,僅僅支持請(qǐng)求服務(wù)端多加一個(gè)參數(shù),在返回?cái)?shù)據(jù)時(shí)用把具體的數(shù)據(jù)包裹起來,傳回前端。 項(xiàng)目開發(fā)為了支持web瀏覽器ajax的直接請(qǐng)求,涉及到了跨域的需求,通過學(xué)習(xí)對(duì)跨域有了更深入的認(rèn)識(shí),現(xiàn)在總結(jié)一下: 1.跨域說明 跨域指請(qǐng)求和服務(wù)的域不一致,瀏覽器和H5的ajax請(qǐng)求有影響,而對(duì)服務(wù)...
摘要:跨域是瀏覽器攔截了服務(wù)器端返回的相應(yīng),不是攔截了請(qǐng)求。通過來實(shí)現(xiàn)跨域使用來實(shí)現(xiàn)跨域可以解決下不能跨域的問題,僅僅支持請(qǐng)求服務(wù)端多加一個(gè)參數(shù),在返回?cái)?shù)據(jù)時(shí)用把具體的數(shù)據(jù)包裹起來,傳回前端。 項(xiàng)目開發(fā)為了支持web瀏覽器ajax的直接請(qǐng)求,涉及到了跨域的需求,通過學(xué)習(xí)對(duì)跨域有了更深入的認(rèn)識(shí),現(xiàn)在總結(jié)一下: 1.跨域說明 跨域指請(qǐng)求和服務(wù)的域不一致,瀏覽器和H5的ajax請(qǐng)求有影響,而對(duì)服務(wù)...
基于javaweb+jsp的學(xué)生成績(jī)管理系統(tǒng) JavaWeb JavaBean JSP MVC MySQL Tomcat JavaScript idea eclipse MyEclipse Servlet SSM Maven … 部分代碼實(shí)現(xiàn)JSP let editIndex = layedit.build('LAY_demo_editor'); ...
閱讀 2242·2023-04-26 00:23
閱讀 918·2021-09-08 09:45
閱讀 2507·2019-08-28 18:20
閱讀 2644·2019-08-26 13:51
閱讀 1671·2019-08-26 10:32
閱讀 1460·2019-08-26 10:24
閱讀 2095·2019-08-26 10:23
閱讀 2264·2019-08-23 18:10