欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報邀請碼778899分享:ajax JSON

柚子快報邀請碼778899分享:ajax JSON

http://yzkb.51969.com/

2.4 HTTP 響應報文

響應行 HTTP/1.1 200 OK

響應頭 Content-Type:text/html;charset=utf-8

Content-length:2048

Content-encoding:gzip

空行

響應體

2.5 谷歌瀏覽器調(diào)試

F12 打開控制臺 網(wǎng)絡欄:network /網(wǎng)絡:這里有網(wǎng)頁加載所有發(fā)送的請求

4. 點擊查看源碼,可以看到完整的請求報文 和響應報文

載荷:一些參數(shù),老師的在Headers里面,現(xiàn)在分離出來了,如果響應有參數(shù),就在“標頭”和“預覽”之間出現(xiàn)

6. '響應’欄會返回頁面的HTML文件

3. 原生AJAX 的基本使用

3.1 安裝node.js

http://nodejs.cn/

3.2 安裝express(服務端框架)

https://www.expressjs.com.cn/

在編輯器中打開終端,輸入下面的代碼

初始化環(huán)境

npm init --yes

下載express包

npm install express --save

編寫js代碼(自己創(chuàng)建的js文件 ,這里我的是 express_use.js)

// 1. 引入express

const express = require(‘express’);

// 2. 創(chuàng)建應用對象

const app = express();

// 3. 創(chuàng)建路由規(guī)則

// request 是對請求報文的封裝

// response 是對響應報文的封裝

app.get(‘/’, (request, response) => {

// 設置響應

response.send(“Hello Express”);

});

// 4. 監(jiān)聽端口,啟動服務

app.listen(8000, () => {

console.log(“服務已經(jīng)啟動, 8000 端口監(jiān)聽中…”);

})

在終端運行js程序

node express_use.js

網(wǎng)頁打開 http://127.0.0.1:8000/ 打開控制臺的網(wǎng)絡,刷新頁面,

3.3 AJAX get案例

創(chuàng)建好文件夾和文件 開始編寫代碼

前端頁面的準備

Ajax GET 請求

點擊發(fā)送請求

服務端準備

// 1. 引入express

const express = require(‘express’);

// 2. 創(chuàng)建應用對象

const app = express();

// 3. 創(chuàng)建路由規(guī)則

app.get(‘/server’, (request, response) => {

// 設置響應頭 設置允許跨域

response.setHeader(‘Access-Control-Allow-Origin’, ‘*’);

// 設置響應體

response.send(“Hello Ajax”);

});

// 4. 監(jiān)聽服務

app.listen(8000, () => {

console.log(“服務已經(jīng)啟動, 8000 端口監(jiān)聽中…”);

})

3.4 AJAX GET 請求設置請求參數(shù)

xhr.open(‘GET’, ‘http://127.0.0.1:8000/server?a=100&b=200&c=300’);

3.5 AJAX post案例

前端頁面

Ajax POST 請求

服務器代碼(修改為需要重啟服務器)

// 1. 引入express

const express = require(‘express’);

// 2. 創(chuàng)建應用對象

const app = express();

// 3. 創(chuàng)建路由規(guī)則

app.get(‘/server’, (request, response) => {

// 設置響應頭 設置允許跨域

response.setHeader(‘Access-Control-Allow-Origin’, ‘*’);

// 設置響應體

response.send(“Hello Ajax”);

});

app.post(‘/server’, (request, response) => {

// 設置響應頭 設置允許跨域

response.setHeader(‘Access-Control-Allow-Origin’, ‘*’);

// 設置響應體

response.send(“Hello Ajax”);

});

// 4. 監(jiān)聽服務

app.listen(8000, () => {

console.log(“服務已經(jīng)啟動, 8000 端口監(jiān)聽中…”);

})

請求體

xhr.send('a=100&b=200&c=300');post設置請求體 request payload

3.6 AJAX設置請求頭信息

// 設置請求體內(nèi)容的類型

xhr.setRequestHeader(‘Content-Type’,‘a(chǎn)pplication/x-www-from-urlencoded’);

// 自定義頭信息

xhr.setRequestHeader(‘name’, ‘lightofD’);

server.js中設置響應頭允許自定義請求頭 post改成all

服務器代碼:

// 1. 引入express

const express = require(‘express’);

// 2. 創(chuàng)建應用對象

const app = express();

// 3. 創(chuàng)建路由規(guī)則

app.get(‘/server’, (request, response) => {

// 設置響應頭 設置允許跨域

response.setHeader(‘Access-Control-Allow-Origin’, ‘*’);

// 設置響應體

response.send(“Hello Ajax”);

});

app.all(‘/server’, (request, response) => {

// 設置響應頭 設置允許跨域

response.setHeader(‘Access-Control-Allow-Origin’, ‘*’);

// 設置響應頭, 設置允許自定義頭信息

response.setHeader(‘Access-Control-Allow-Headers’,‘*’);

// 設置響應體

response.send(“Hello Ajax”);

});

// 4. 監(jiān)聽服務

app.listen(8000, () => {

console.log(“服務已經(jīng)啟動, 8000 端口監(jiān)聽中…”);

})

3.7 服務端響應JSON數(shù)據(jù)

服務器代碼

// 1. 引入express

const express = require(‘express’);

// 2. 創(chuàng)建應用對象

const app = express();

// 3. 創(chuàng)建路由規(guī)則

app.all(‘/server’, (request, response) => {

// 設置響應頭, 設置允許跨域

response.setHeader(‘Access-Control-Allow-Origin’, ‘*’);

// 設置響應頭, 設置允許自定義頭信息

response.setHeader(‘Access-Control-Allow-Headers’, ‘*’);

// 響應一個數(shù)據(jù)

const data = {

name: ‘a(chǎn)tguigu’

};

// 對 對象 進行 字符串 轉(zhuǎn)換 ;轉(zhuǎn)換為JSON格式

let str = JSON.stringify(data)

// 設置響應體

response.send(str);

});

// 4. 監(jiān)聽服務

app.listen(8000, () => {

console.log(“服務已經(jīng)啟動, 8000 端口監(jiān)聽中…”);

})

我們的頁面會接受到一個字符串

//設置響應體數(shù)據(jù)的類型(自動轉(zhuǎn)換)

xhr.responseType = ‘json’;

//設置之前 我們xhr.response接收到的是服務器的json格式字符串

//設置只后 xhr.response自動根據(jù)這個字符串轉(zhuǎn)換為對象

//當然我們也可以手動轉(zhuǎn)換

// 1. 手動對數(shù)據(jù)轉(zhuǎn)化 (字符串再轉(zhuǎn)換成json)

let data = JSON.parse(xhr.response); //轉(zhuǎn)換成json

//這個data 就是字符串對應的對象了

//調(diào)用其中數(shù)據(jù)格式 data.name

html示例(鍵盤隨意輸入發(fā)送post請求)

JSON

3.8 nodemon自動重啟工具

之前我們每次更改服務器端的代碼都需要重啟服務器,非常麻煩

有了這個工具,只要啟動一次,我們修改服務端代碼,保存后自動重啟服務器。

但是啟動代碼的方式從 node 文件名 改為nodemon 文件名

安裝

npm install -g nodemon

啟動

nodemon .\server.js

啟動失敗怎么辦,運行下條命令,一定要注意運行所在路徑?。?!一定注意路徑?。?!cd命令修改到server.js所在目錄

npx nodemon .\server.js

3.9 解決 IE 緩存問題

問題:在一些瀏覽器中(IE),由于緩存機制的存在,ajax 只會發(fā)送的第一次請求,剩余多次請求不會在發(fā)送給瀏覽器而是直接加載緩存中的數(shù)據(jù)。

解決方式:瀏覽器的緩存是根據(jù)url 地址來記錄的,所以我們只需要修改url 地址即可避免緩存問題

xhr.open(‘GET’, ‘http://127.0.0.1:8000/server?t=’+Date.now());

3.10 請求網(wǎng)絡超時與網(wǎng)絡異常

// 超時設置 (2秒)

xhr.timeout = 2000;

// 超時回調(diào)

xhr.ontimeout = function(){

alert(‘網(wǎng)絡超時,請稍后重試’)

}

// 網(wǎng)絡異?;卣{(diào)

xhr.onerror = function(){

alert(‘網(wǎng)絡異常,請稍后重試’)

}

服務器模擬延遲效果

// 1. 引入express

const express = require(‘express’);

// 2. 創(chuàng)建應用對象

const app = express();

// 3. 創(chuàng)建路由規(guī)則

app.all(‘/server’, (request, response) => {

// 設置響應頭, 設置允許跨域

response.setHeader(‘Access-Control-Allow-Origin’, ‘*’);

// 設置響應頭, 設置允許自定義頭信息

response.setHeader(‘Access-Control-Allow-Headers’, ‘*’);

// 響應一個數(shù)據(jù)

setTimeout(()=>{

// 設置響應體

response.send(‘str’);

},3000)

});

// 4. 監(jiān)聽服務

app.listen(8000, () => {

console.log(“服務已經(jīng)啟動, 8000 端口監(jiān)聽中…”);

})

瀏覽器模擬斷網(wǎng)

3.11 取消請求

// 手動取消

xhr.abort()

3.12 重復請求問題

相當于一個小的算法

JSON

發(fā)送

3.13 總結(jié)

XMLHttpRequest():創(chuàng)建 XHR 對象的構(gòu)造函數(shù) status:響應狀態(tài)碼值,如 200、404 statusText:響應狀態(tài)文本,如 ’ok‘、‘not found’ readyState:標識請求狀態(tài)的只讀屬性 0-1-2-3-4 onreadystatechange:綁定 readyState 改變的監(jiān)聽 responseType:指定響應數(shù)據(jù)類型,如果是 ‘json’,得到響應后自動解析響應 response:響應體數(shù)據(jù),類型取決于 responseType 的指定 timeout:指定請求超時時間,默認為 0 代表沒有限制 ontimeout:綁定超時的監(jiān)聽 onerror:綁定請求網(wǎng)絡錯誤的監(jiān)聽 open():初始化一個請求,參數(shù)為:(method, url[, async]) send(data):發(fā)送請求 abort():中斷請求 (發(fā)出到返回之間) getResponseHeader(name):獲取指定名稱的響應頭值 getAllResponseHeaders():獲取所有響應頭組成的字符串 setRequestHeader(name, value):設置請求頭

4. jQuery 中的AJAX

4.1 get 請求

$.get(url, [data], [callback], [type])

url:請求的URL 地址 data:請求攜帶的參數(shù) callback:載入成功時回調(diào)函數(shù) type:設置返回內(nèi)容格式,xml, html, script, json, text, _default

4.2 post請求

$.post(url, [data], [callback], [type])

url:請求的URL 地址 data:請求攜帶的參數(shù) callback:載入成功時回調(diào)函數(shù) type:設置返回內(nèi)容格式,xml, html, script, json, text, _default

4.3通用方法

$.ajax({

// url

url: ‘http://127.0.0.1:8000/jquery-server’,

// 參數(shù)

data: {a:100, b:200},

// 請求類型

type: ‘GET’,

// 響應體結(jié)果

dataType: ‘json’,

// 成功的回調(diào)

success: function(data){console.log(data);},

// 超時時間

timeout: 2000,

// 失敗的回調(diào)

error: function(){console.log(‘出錯拉~’);},

// 頭信息

headers: {

c: 300,

d: 400

}

})

5.Axios 發(fā)送 Ajax 請求

5.1 get 請求

axios.get(‘http://localhost:8000/axios-server’, {

//url參數(shù)

params:{

id:1000,

vip:12

},

//請求頭信息

headers:{

name:‘hanser’,

age:‘2’

}

}).then(value=>{

console.log(value)

})

5.2 post請求

axios.post(‘http://localhost:8000/axios-server’, {

username:‘a(chǎn)dmin’,

password:‘123’

},{

//url參數(shù)

params:{

id:1,

vip:123

},

//請求頭參數(shù)

headers:{

name:‘yousa’,

age:‘23’

},

//請求體

})

5.3通用方法

axios({

method:‘POST’,

url:‘http://localhost:8000/axios-server’,

//url參數(shù)

params:{

vip:10,

id:123

},

//頭信息

headers:{

a:100,

b:200

},

//請求體參數(shù)

data:{

name:‘hanser’,

age:‘7’

}

}).then(response=>{

console.log(response)

})

6.fetch

fetch(‘http://localhost:8000/fetch-server’,{

//請求方法

method:‘POST’,

自我介紹一下,小編13年上海交大畢業(yè),曾經(jīng)在小公司待過,也去過華為、OPPO等大廠,18年進入阿里一直到現(xiàn)在。

深知大多數(shù)前端工程師,想要提升技能,往往是自己摸索成長或者是報班學習,但對于培訓機構(gòu)動則幾千的學費,著實壓力不小。自己不成體系的自學效果低效又漫長,而且極易碰到天花板技術(shù)停滯不前!

因此收集整理了一份《2024年Web前端開發(fā)全套學習資料》,初衷也很簡單,就是希望能夠幫助到想自學提升又不知道該從何學起的朋友,同時減輕大家的負擔。

既有適合小白學習的零基礎資料,也有適合3年以上經(jīng)驗的小伙伴深入學習提升的進階課程,基本涵蓋了95%以上前端開發(fā)知識點,真正體系化!

由于文件比較大,這里只是將部分目錄截圖出來,每個節(jié)點里面都包含大廠面經(jīng)、學習筆記、源碼講義、實戰(zhàn)項目、講解視頻,并且會持續(xù)更新!

如果你覺得這些內(nèi)容對你有幫助,可以掃碼獲?。。。ㄙY料價值較高,非無償)

最后的最后

面試題千萬不要死記,一定要自己理解,用自己的方式表達出來,在這里預祝各位成功拿下自己心儀的offer。 需要完整面試題的朋友可以點擊藍色字體即可獲取?。?!

ders:{

name:‘yousa’,

age:‘23’

},

//請求體

})

5.3通用方法

axios({

method:‘POST’,

url:‘http://localhost:8000/axios-server’,

//url參數(shù)

params:{

vip:10,

id:123

},

//頭信息

headers:{

a:100,

b:200

},

//請求體參數(shù)

data:{

name:‘hanser’,

age:‘7’

}

}).then(response=>{

console.log(response)

})

6.fetch

fetch(‘http://localhost:8000/fetch-server’,{

//請求方法

method:‘POST’,

自我介紹一下,小編13年上海交大畢業(yè),曾經(jīng)在小公司待過,也去過華為、OPPO等大廠,18年進入阿里一直到現(xiàn)在。

深知大多數(shù)前端工程師,想要提升技能,往往是自己摸索成長或者是報班學習,但對于培訓機構(gòu)動則幾千的學費,著實壓力不小。自己不成體系的自學效果低效又漫長,而且極易碰到天花板技術(shù)停滯不前!

因此收集整理了一份《2024年Web前端開發(fā)全套學習資料》,初衷也很簡單,就是希望能夠幫助到想自學提升又不知道該從何學起的朋友,同時減輕大家的負擔。

[外鏈圖片轉(zhuǎn)存中…(img-OFhwTrz4-1711650049998)]

[外鏈圖片轉(zhuǎn)存中…(img-TvH2pPYi-1711650049998)]

既有適合小白學習的零基礎資料,也有適合3年以上經(jīng)驗的小伙伴深入學習提升的進階課程,基本涵蓋了95%以上前端開發(fā)知識點,真正體系化!

[外鏈圖片轉(zhuǎn)存中…(img-BLKq0HJx-1711650049999)]

由于文件比較大,這里只是將部分目錄截圖出來,每個節(jié)點里面都包含大廠面經(jīng)、學習筆記、源碼講義、實戰(zhàn)項目、講解視頻,并且會持續(xù)更新!

如果你覺得這些內(nèi)容對你有幫助,可以掃碼獲?。。。ㄙY料價值較高,非無償)

最后的最后

面試題千萬不要死記,一定要自己理解,用自己的方式表達出來,在這里預祝各位成功拿下自己心儀的offer。 需要完整面試題的朋友可以點擊藍色字體即可獲?。。?!

[外鏈圖片轉(zhuǎn)存中…(img-T9JnJlJV-1711650049999)]

[外鏈圖片轉(zhuǎn)存中…(img-k2keXK3r-1711650050000)]

[外鏈圖片轉(zhuǎn)存中…(img-DBxPEAha-1711650050000)]

[外鏈圖片轉(zhuǎn)存中…(img-ItPHOxiI-1711650050000)]

柚子快報邀請碼778899分享:ajax JSON

http://yzkb.51969.com/

文章鏈接

評論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/19579197.html

發(fā)布評論

您暫未設置收款碼

請在主題配置——文章設置里上傳

掃描二維碼手機訪問

文章目錄