摘要:對象的語法對象名屬性值屬性值屬性值屬性值林黛玉這個對象所對應的屬性如下林黛玉如果對象取值的時候,直接對象屬性名稱就可以林黛玉什么是對象表現方式對象表示法,即以對象的格式表現出來的字符串。
前端知識點總結——Ajax 1.ajax
1.URL的作用 用于表示任意一個資源的位置(互聯網上) 2.詳解 格式:2.HTTP協議:// : @ : / ; ? # scheme:方案協議,以哪種方式到服務獲取資源,協議不區分大小寫, 常見的協議:http,https,ftp ssh:安全的遠程登錄 SMTP:郵件傳輸 POP3:郵件接收 DNS:域名解析 TELNET:遠程登錄 host:主機名,服務器主機名或IP地址或域名(由DNS轉換為IP地址) 127.0.0.1=localhost port:端口號 80 443 user:用戶名,訪問某些特定資源時需要用到的信息 pwd:密碼,訪問某些特定資源時需要用到的密碼 path:路徑,資源在服務器上具體存放位置 params:參數(跟服務器有關) query:查詢字符串,要傳遞給服務器的數據 http://127.0.0.1/login.php?uname=dangdang&upwd=12345 frag:錨點 http://127.0.0.1/a.html#NO1
1.什么是HTTP Hyper Text Transfer Protocol:超文本傳輸協議 規范了數據如何打包以及傳遞 2.詳解 1.請求(request)消息 客戶端帶給服務器的數據都有哪些,由三部分組成 1.請求的起始行 1.請求方法 1.GET 表示客戶端向服務器獲取資源時使用 特點: 1.無請求主體 2.靠地址欄傳遞查詢字符串 2.POST 表示想傳遞數據給服務器時使用 特點: 1.有請求主體 3.PUT 表示客戶端想放置文件到服務器(禁用) 4.DELETE 表示客戶端要刪除服務器端的數據(禁用) 5.HEAD 表示客戶端只想獲取指定的響應頭 6.CONNECT 測試連接 7.TRACE 追蹤請求路徑 8.OPTIONS 選項,保留以后使用 2.請求URL 3.協議版本:HTTP/1.12.1請求頭
1.Host:localhost/127.0.0.1 作用:告訴瀏覽器請求哪一個主機 2.Connection:keep-alive 作用:告訴服務器要進行持久連接 3.User-Agent: 作用:告訴服務器自己(瀏覽器)的類型 4.Accept-Language:zh-cn 作用:告訴服務器自己能接納的自然語言 5.Accept-Encoding:gzip 作用:告訴服務器自己能接收的數據壓縮類型是什么 6.Referer:http:localhost/Day01/login.html 作用:告訴服務器請求來自哪個頁面 3.請求主體 Form Data2.2響應(response)消息
1.響應起始行 1.協議版本號:HTTP/1.1 2.響應狀態碼 作用:告訴瀏覽器,服務器的響應狀態是什么問題(有問題,沒有問題,有問題問題大概是什么) 1xx:100-199 提示信息 2xx:成功響應 200:ok 3xx:需要進行重定向 301:永久性重定向 302:臨時重定向 304:Not Modified 4xx:客戶端請求錯誤 404:Not Found 請求資源不存在 403:Forbidden 權限不夠 405:Method Not Allowed 請求方法不被允許 5xx:服務器運行錯誤 500:服務器內部錯誤2.3原因短句
對狀態碼的簡單解釋 2.響應頭 1.Date 作用:告訴瀏覽器,服務器的響應時間 格林尼治時間(+8h) 2.Connection 作用:告訴瀏覽器已經啟動持久連接 3.Content-Type 作用:響應主體的類型是什么,告訴瀏覽器,用什么樣的方式解析響應主體 1.text/html:響應回來的數據是html文本 2.text/plain:響應回來的數據是普通文本 3.text/css:響應回來的數據是css樣式 4.application/xml:響應回來的數據是xml格式 5.application/javascript:響應回來的數據是js腳本代碼 6.application/json:響應回來的數據是json格式的字符串 7.images/jegp:響應回來的數據是圖片 3.響應主體 Response3.緩存
1.什么是緩存 & 工作原理
客戶端將服務器響應回來的數據進行自動保存,當再次訪問時,直接使用保存的數據。 2.緩存的優點 1.減少了冗余數據的傳輸,節省客戶端流量 2.可以節省服務器帶寬 3.降低對服務器資源的消耗和運行要求 4.降低了由于遠距離而造成的延時加載 3.與緩存相關的消息頭 1.Cache-Control消息頭 作用:從服務器將文檔傳到客戶端時起,可以認為此文檔處于新鮮的秒數 語法: Cache-Control:max-age=處于新鮮的秒數 ex: Cache-Control:max-age=3600; Cache-Control:max-age=0;每次都從服務器下載新資源 2.Expires消息頭 作用:指定緩存過期的確切時間(格林尼治時間) 語法:Expires:Thu,23 Nov 2017 GMT 如果希望客戶端不緩存,可以給一個過期的時間 Expires:Wed,22 Nov 2017 00:00:00 GMT Expires:0;---此方法不標準,執行性不是特別好 4.在網頁上設置消息頭 1.更改服務器配置 2.網頁上增加消息 ex: 或 php: header("Expires:0"); Response.AddHeader("Expires","0");4.AJAX
1.名詞解釋
1.同步(Synchronous) 在一個任務進行中時,不能開啟其它的任務 同步訪問:瀏覽器在向服務器發送請求的時候,瀏覽器只能等待服務器的響應,不能做其它的事情。 出現場合: 1.地址欄輸入網址訪問頁面(www.baidu.com) 2.a標記默認跳轉 3.submit按鈕的表單提交 2.異步(Asynchronous) 在一個任務進行中時,可以開啟其它的任務 異步訪問:瀏覽器在向服務器發送請求時,不耽誤用戶在網頁上做其它的操作 使用場合: 1.用戶名的重復驗證 2.聊天室 3.股票走勢圖 4.搜索框建議(百度,京東)
2.AJAX
1.Asynchronous Javascript And Xml 異步的 js 和 xml 2.本質: 使用js提供的異步對象(XMLHttpRequest),異步的向服務器發送請求, 并接受響應數據(數據格式是Xml) AJAX請求中,服務器響應回來的數據部分數據而不是完整的頁面, 并且可以以無刷新的效果來更改頁面的局部內容。 3.創建XMLHttpRequest對象-異步對象(xhr) 標準創建: var xhr=new XMLHttpRequest(); IE8以下: var xhr=new ActiveXObject("Microsoft.XMLHttp"); 允許通過window.XMLHttpRequest 來判斷瀏覽器是否支持標準創建, 如果瀏覽器不支持標準創建,那么window.XMLHttpRequest的值就是null if(window.XMLHttpRequest){ var xhr=new XMLHttpRequest(); }else{ var xhr=new ActiveXObject("Microsoft.XMLHttp"); } 4.XHR常用方法和屬性(重點) 1.open() 作用:創建請求 語法:xhr.open(method,url,isAsyn); 1.method string類型 請求方式:get/post 2.url string類型 請求地址 3.isAsyn boolean類型 指定采用同步(false)還是異步(true)的方式發送請求 2.readyState 屬性 作用:表示xhr對象的請求狀態 值:0-4表示5個狀態 0:請求尚未初始化 1:已經打開到服務器的鏈接,正在發送請求中 2:請求完成 3.正在接收服務器端的響應 4.接收響應數據成功 注意:當readyState的值為4的時候,才表示所有的響應都已經接收完畢。 3.status 屬性 作用:表示的是服務器的響應狀態碼 值: 記住一個值 :200 當status的值是200的時候,表示服務器已經正確的處理請求以及給出響應。 4.onreadystatechange事件 作用:當xhr的readyState屬性值發生改變的時候,要自動激發的操作 (xhr對象的狀態在做一些改變時,這個事件會一直監視著它) 語法: onreadystatechange=function(){ //判斷xhr的readyState為4并且xhr的status值為200,就可以獲取/響應數據了 if(xhr.readyState==4&&xhr.status==200){ //接收響應回來的結果 var resText=xhr.responseText; console.log(resText); } } 5.send() 作用:發送請求 語法:xhr.send(body) body:請求主體 如果沒有請求主體,body位置處為null(get) 如果有請求主體,則放請求主體數據到body位置(post) 5.發送異步請求的步驟 1.創建xhr對象 2.創建請求 3.設置xhr的onreadystatechange(回調函數) 判斷狀態,并接收響應回來的數據 4.發送請求5.使用ajax發送post請求
注意兩點:
1.post的請求將數據放在請求主體中 xhr.send(body); ex: xhr.send("uname=value1&upwd=value2"); 2.在發送請求之前,需要手動修改請求消息頭 xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");6.js對象數據格式
1.js對象的數據格式
var lindaiyu=[]; lindaiyu[0]="林黛玉"; lindaiyu[1]="1990"; lindaiyu[2]="160cm"; lindaiyu[3]="50kg"; 改版: var lindaiyu=[]; lindaiyu["name"]="林黛玉"; lindaiyu["birth"]="1990"; lindaiyu["height"]="160cm"; lindaiyu["weight"]="50kg"; ex:取值 lindaiyu["name"] 數組描述的是林黛玉的個人信息,如果你把林黛玉看成是一個對象,
那么她的個人信息就是她這個對象的屬性。
js對象的語法: var 對象名={ 屬性:值, 屬性:值, 屬性:值, 屬性:值 }; ex:林黛玉這個對象所對應的屬性如下 var lindaiyu={ name:"林黛玉", birth:"1990", height:"160cm", weight:"50kg", } 如果對象取值的時候,直接對象.屬性 名稱就可以 ex:lindaiyu.name --->林黛玉7.JSON
1.什么是JSON JavaScript Object Notation js 對象 表現方式 js對象表示法,即以js對象的格式表現出來的字符串。 2.JSON語法 1.JSON對象 1.用一對{}來表示一個對象 2.對象的屬性名稱,必須用""引起來(單引號不可以),值如果是字符串的話,必須也用""引起來。 ex: var computer="{ "name":"電腦", "price":5600 }" 2.JSON數組 1.普通數組 "["小喬","大喬","貂蟬"]" 2.對象數組 "[ { "name":"小喬", "height":"160cm", "age":18 }, { "name":"大喬", "height":"163cm", "age":20 }, { "name":"貂蟬", "height":"165cm", "age":21 } ]" 3.JSON文件創建 以.json為后綴的文件,里面包含的是符合json格式的數據 4.將JSON字符串,轉換成js對象/數組 var mperson="{"name":"TOM","age":18}"; //json對象 var arr="["小喬","大喬","貂蟬"]"; //json數組 var arr1="[ {"name":"Lucy","age":19}, {"name":"Lily","age":19} ]"; //json數組 如何把上面的數據轉換成js對象/數組格式 1.使用eval()將數據轉換成js對象數組(不推薦) 2.使用JSON.parse()來將JSON字符串解析為js對象 var obj=JSON.parse(mperson); //js對象 var obj=JSON.parse(arr);//js數組 var obj=JSON.parse(arr1);//js數組
2.JS對象數據格式
var 對象名={
屬性:值, 屬性:值, 屬性:值
}
取值:對象名稱.屬性
3.JSON數據格式
var person="{
"name":"TOM", "age":12
}"
4.將JSON格式的數據轉換js對象/數組
1.eval()
2.JSON.parse
4.1在php中,可以直接將數組轉換成json格式的字符串
語法:
通過json_encode()將數組轉換為JSON字符串,并返回轉換后的結果 ex: 在php中 $array=["釘釘","當當","冰冰"]; $str=json_encode($array);8.XML
AJAX:Asynchronous Javascript And Xml
1.什么是XML
eXtensible Markup Language 可擴展的 標記 語言 XML的標記沒有被預定義過,需要自定義 XML的宗旨是做數據傳遞的,而非顯示數據
2.XML的語法結構
XML可以獨立保存為***.xml的文件,也可以以字符串的形式出現 1.XML的最頂端是XML的聲明 2.XML標記的語法 1.XML標記必須成對出現錯誤 2.XML嚴格區分大小寫,開始和結束必須一致 正確 錯誤 3.XML的標記允許被嵌套,注意嵌套順序 4.每個標記都允許自定義屬性,格式與html一致,但屬性值,必須用""括起來 5.每個XML文檔,必須有一個根元素
3.解析XML文檔對象的內容
1.核心方法 elem.getElementsByTagName("標簽名稱"); 返回值:返回一個包含指定元素們的“類數組” (用for循環遍歷) ex:var xmlDoc=xhr.responseXML; xmlDoc.getElementsByTagName("Student");
4.在PHP中返回XML格式的字符串
1.必須增加響應消息頭 header("Content-Type:application/xml"); 2.按照XML的語法結構,拼xml字符串,再響應給前端
$xml=""; $xml.=""; ... $xml.=" "; echo $xml;
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/92875.html
摘要:今天同學去面試,做了兩道面試題全部做錯了,發過來給道典型的面試題前端掘金在界中,開發人員的需求量一直居高不下。 排序算法 -- JavaScript 標準參考教程(alpha) - 前端 - 掘金來自《JavaScript 標準參考教程(alpha)》,by 阮一峰 目錄 冒泡排序 簡介 算法實現 選擇排序 簡介 算法實現 ... 圖例詳解那道 setTimeout 與循環閉包的經典面...
摘要:責編現代化的方式開發一個圖片上傳工具前端掘金對于圖片上傳,大家一定不陌生。之深入事件機制前端掘金事件綁定的方式原生的事件綁定方式有幾種想必有很多朋友說種目前,在本人目前的研究中,只有兩種半兩種半還有半種的且聽我道來。 Ajax 與數據傳輸 - 前端 - 掘金背景 在沒有ajax之前,前端與后臺傳數據都是靠表單傳輸,使用表單的方法傳輸數據有一個比較大的問題就是每次提交數據都會刷新頁面,用...
摘要:最近遇到的前端面試題更新版前端掘金個人博客已上線,歡迎前去訪問評論無媛無故的個人博客以下內容非本人原創,是整理后覺得更容易理解的版本,歡迎補充。 一道面試題引發的對 javascript 類型轉換的思考 - 前端 - 掘金 最近群里有人發了下面這題:實現一個函數,運算結果可以滿足如下預期結果: ... 收集 JavaScript 各種疑難雜癥的問題集錦 - 前端 - 掘金 從原博客遷移...
摘要:最近遇到的前端面試題更新版前端掘金個人博客已上線,歡迎前去訪問評論無媛無故的個人博客以下內容非本人原創,是整理后覺得更容易理解的版本,歡迎補充。 一道面試題引發的對 javascript 類型轉換的思考 - 前端 - 掘金 最近群里有人發了下面這題:實現一個函數,運算結果可以滿足如下預期結果: ... 收集 JavaScript 各種疑難雜癥的問題集錦 - 前端 - 掘金 從原博客遷移...
摘要:最近遇到的前端面試題更新版前端掘金個人博客已上線,歡迎前去訪問評論無媛無故的個人博客以下內容非本人原創,是整理后覺得更容易理解的版本,歡迎補充。 一道面試題引發的對 javascript 類型轉換的思考 - 前端 - 掘金最近群里有人發了下面這題:實現一個函數,運算結果可以滿足如下預期結果: ... 收集 JavaScript 各種疑難雜癥的問題集錦 - 前端 - 掘金從原博客遷移過來...
閱讀 1115·2023-04-25 14:35
閱讀 2846·2021-11-16 11:45
閱讀 3444·2021-09-04 16:48
閱讀 2199·2021-08-10 09:43
閱讀 543·2019-08-30 13:17
閱讀 1637·2019-08-29 13:27
閱讀 909·2019-08-26 13:58
閱讀 2168·2019-08-26 13:48