亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Ajax異步請求的五個步驟及實戰案例

瀏覽:177日期:2022-06-12 09:09:43
目錄
  • 前言
  • 1.建立xmlHttpRequest異步對象
  • 2.創建HTTP請求(設置請求方法和URL)
  • 3.發送數據
  • 4.設置回調函數
  • 5.在回調函數中對不同的響應狀態進行處理
  • 案例實現
  • 總結

前言

AJAX(Asynchronous JavaScript and XML):是指一種創建交互式網頁應用的網頁開發技術,通過在后臺與服務器進行少量數據交換,AJAX 可以使網頁實現異步更新。這就意味著可以在不重新加載整個網頁的情況下,對網頁的局部進行更新。

1.建立xmlHttpRequest異步對象

 const xhr=new XMLHttpRequest();

2.創建HTTP請求(設置請求方法和URL)

//get方式xhr.open("GET",URL); //post方式發送數據,需要設置請求頭xhr.open("POST",URL);xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

除了method和URL兩個必選參數外還有三個可選參數:flag,name,password

flag:參數值為布爾類型,用于指定是否用異步方式。true表異步,false表同步,默認為true。

name:

3.發送數據

//get不需要傳遞參數xhr.send(null); //post必須有參數xhr.send("a=100&b=200&c=300");

4.設置回調函數

xhr.onreadystatechange = callback;

5.在回調函數中對不同的響應狀態進行處理

function callback() {     //判斷響應狀態碼     if(xhr.readyState===4){// 判斷交互是否成功if(xhr.status>=200&&xhr.status<300){     // console.log(xhr.status);//狀態碼     // console.log(xhr.statusText);//狀態字符串     // console.log(xhr.getAllResponseHeaders());//所有響應頭     // console.log(xhr.response);//響應體      // 獲取服務器響應的數據     result.innerHTML=xhr.response;}else{ }    }}

ajax中的readyState屬性

  • 0:未初始化。尚未調用 open()方法。
  • 1:啟動。已經調用 open()方法,但尚未調用 send()方法。
  • 2:發送。已經調用 send()方法,但尚未接收到響應。
  • 3:接收。已經接收到部分響應數據。
  • 4:完成。已經接收到全部響應數據,而且已經可以在客戶端使用了。

只有在XMLHttpRequest對象完成了以上5個步驟之后,才可以獲取從服務器端返回的數據。

ajax中的狀態碼(200-300則表示響應成功)

  • 400:請求參數錯誤
  • 401:無權限訪問
  • 404:訪問的資源不存在

案例實現

案例:獲取天氣信息

格式要求:使用HTML創建一個輸入框,一個按鈕,在輸入框中輸入文字后點擊按鈕,即可在下面打印未來15天的天氣

輸出要求:每個天氣要求:城市名,溫度,天氣,風向,風力

API網站:(https://www.apishop.net/#/)

APIKEY:***************

使用 $.get( ) 獲取:

var text = $("#text")var btn = $("#button")var div = $("#div1")btn.click(function(){    var city = text.val()    var url = "https://api.apishop.net/common/weather/get15DaysWeatherByArea?apiKey=******="+ city    $.get(url, function(response){console.log(response)var list = response.result.dayList;console.log(list)for(var i = 0; i < list.length; i++){    div.append("<ul>")    div.append("<li>" + list[i].area + "</li>")    div.append("<li>" + list[i].day_air_temperature + "</li>")    div.append("<li>" + list[i].day_weather + "</li>")    div.append("<li>" + list[i].day_wind_direction + "</li>")    div.append("<li>" + list[i].day_wind_power + "</li>")    div.append("</ul>")}    }, "JSON")})

使用 $.post( ) 獲取:

var text = $("#text")var btn = $("#button")var div = $("#div1")btn.click(function(){var url = "https://api.apishop.net/common/weather/get15DaysWeatherByArea?apiKey=******&area="$.post(url,{    // 傳入必須的參數    area:text.val()}, function(response){    console.log(response)    var list = response.result.dayList;    console.log(list)    for(var i = 0; i < list.length; i++){div.append("<ul>")div.append("<li>" + list[i].area + "</li>")div.append("<li>" + list[i].day_air_temperature + "</li>")div.append("<li>" + list[i].day_weather + "</li>")div.append("<li>" + list[i].day_wind_direction + "</li>")div.append("<li>" + list[i].day_wind_power + "</li>")div.append("</ul>")    }}, "JSON")    })

結果截圖:

總結

到此這篇關于Ajax異步請求的五個步驟及實戰案例的文章就介紹到這了,更多相關Ajax異步請求步驟內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: Ajax
主站蜘蛛池模板: 69黄色片 | 久久www免费人成_看片美女图 | 免费一级欧美片在线观免看 | 337d欧美人体大胆瓣开下面 | 久久精品亚洲一区二区 | 成年大片免费播放视频人 | 日本xxxwww免费视频软件 | 国产福利免费视频 | 久久网址 | 国产精品伦子一区二区三区 | 日本一级在线 | 亚洲一区二区三区精品国产 | 亚洲欧美在线观看 | 成人网免费视频 | 日韩一区二区三区在线播放 | 国产精品久久亚洲不卡4k岛国 | 黄色网页免费 | 韩国一级黄色 | 亚洲图片综合区 | 国产91小视频在线观看 | 亚洲精品一区二区三区国产 | 色综合天天综合中文网 | 天堂影院jav成人天堂免费观看 | 精品国产一区二区三区四 | 黄色永久网站 | 国产亚洲制服 | 手机在线日韩高清理论片 | 午夜拍拍福利视频蜜桃视频 | 国产高清专区 | 中文字幕亚洲精品日韩精品 | 亚洲xx在线 | 国产高清xxxsexvideo | 国产精品亚洲欧美日韩区 | 国产美女白丝袜精品_a不卡 | 18到20岁女人毛片一区 | 日韩在线不卡一区在线观看 | 手机看片日韩日韩国产在线看 | 一区二区三区四区国产 | 日本无卡αv免费视频 | 国产毛片a | 日韩免费高清一级毛片久久 |