欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

jQuery中ajax的相關知識點匯總

 更新時間:2021年03月08日 11:48:18   作者:三七安  
這篇文章主要給大家介紹了關于jQuery中ajax相關知識點的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

前言

學習JavaScript的同學都知道, AJAX (async javascript and
xml)翻譯叫做異步的JavaScript和XML , 在原生js中使用發(fā)送網(wǎng)絡請求也是一件麻煩事,每次都是那幾個步驟.

我們先來回顧一下在原生js中如何發(fā)送一個 ajax 網(wǎng)絡請求

經(jīng)典4步曲

1.原生js的ajax網(wǎng)絡請求

 // IE9及以上
 // const xhr = new XMLHttpRequest()
 // IE9以下
 // const xhr = new ActiveXObject('Mricosoft.XMLHTTP')

 // 對于這個兼容寫法我們可以用一個函數(shù)來封裝
 function createXHR() {
 var req = null;
 if (window.XMLHttpRequest) {
 // 如果有這個XMLHttpRequest對象就直接使用
 req = new XMLHttpRequest();
 } else {
 // 否則就使用IE8一下的寫法
 req = new ActiveXObject("Microsoft.XMLHTTP");
 }
 return req;
 }
 // 第一步:創(chuàng)建ajax對象
 var xhr = createXHR(); //這樣就拿到了一個ajax對象
 // 第二步:配置網(wǎng)絡請求信息

 xhr.open('get', './demo.php', true)
 // xhr.open('get/post','要發(fā)送網(wǎng)絡請求去哪個地址',同步還是異步默認 true 表示異步,false 表示同步)
 // 如果是get請求有參數(shù)需要拼接在地址后面,例如'./demo.php?id=2&name=sanqi'
 // 如果是post請求,參數(shù)就要放在send()里面,例如:xhr.send('id=2&name=sanqi')
 // 第三步:發(fā)送網(wǎng)絡請求
 xhr.send() //
 // 第四部:判斷響應狀態(tài)拿到數(shù)據(jù)
 xhr.onreadyStateChange = function () {
 // 每次 readyState 改變的時候都會觸發(fā)該事件
 // 我們就在這里判斷 readyState 的值是不是到 4
 // 并且 http 的狀態(tài)碼是不是 200 ~ 299
 if (xhr.readyState === 4 && /^2\d{2|$/.test(xhr.status)) {
 // 這里表示驗證通過
 // 我們就可以獲取服務端給我們響應的內(nèi)容了
 console.log(xhr.response);
 }
 }


這里補充一下readyState的5個狀態(tài)

  • readyState --> 0: 表示未初始化完成,也就是 open 方法還沒有執(zhí)行
  • readyState --> 1: 表示配置信息已經(jīng)完成,也就是執(zhí)行完 open 之后
  • readyState --> 2: 表示 send 方法已經(jīng)執(zhí)行完成
  • readyState --> 3: 表示正在解析響應內(nèi)容
  • readyState --> 4: 表示響應內(nèi)容已經(jīng)解析完畢,可以在客戶端使用了

上面就是原生的js發(fā)送一個ajax網(wǎng)絡請求

2.關于使用jQuery的ajax網(wǎng)絡請求

我們在學習jquery,就了解到,大家都在說,什么 jq 都給我們封裝好啦,這些網(wǎng)絡請求都不用我們?nèi)懤?雖說如此,但是也還是不能盲目,還是 要具體了解之后才會使用.

(1).利用jquery發(fā)送get請求

下面統(tǒng)一后端代碼使用文件名為: test.php 這個文件

<?php
header('content-type:text/html;charset=utf-8;');
 $id = $_REQUEST['id'];
 $name = $_REQUEST['name'];
 $arr = [
 'id' => $id,
 'name' => $name
 ];
 echo json_encode($arr);
?>

使用jquery發(fā)送get請求

  $.get('./test.php','id=999&name=三七安',function (res) { 
  //第一個參數(shù)是請求的地址
  //第二個參數(shù)是要發(fā)送給服務器的數(shù)據(jù)
  //第三個參數(shù)是成功時的回調(diào)函數(shù),里面包含服務返回給我們的數(shù)據(jù)
  //第四個參數(shù)是我們希望拿到的數(shù)據(jù)格式:有幾種選擇:json,text,html,xml,script
  console.log(res);
  },'json')

可以看到請求是發(fā)送成功了的

(2) 利用jquery發(fā)送post請求

	 $.post('./test.php',{id:123,name:'post請求'},function (res) { 
	 //這里其他參數(shù)和get請求一致的
	 //注意,這里的傳輸數(shù)據(jù)我用 對象的格式來寫,也能發(fā)送請求成功,也就是說
	 //無論是get請求還是post請求,想服務端傳數(shù)據(jù),既可以使用字符串格式也可以使用對象格式
  console.log(res);
  },'json')

這是請求成功的的頁面

(3)利用jquery發(fā)送綜合發(fā)送 ajax 請求

先來瀏覽一下語法

 // 使用 $.ajax 方法
 // 只接受一個參數(shù),是一個對象,這個對象對當前的請求進行所有的配置
 $.ajax({
  url: './ajax', // 必填,請求的地址
  type: 'GET', // 選填,請求方式,默認是 GET(忽略大小寫)
  data: {}, // 選填,發(fā)送請求是攜帶的參數(shù)
  dataType: 'json', // 選填,期望返回值的數(shù)據(jù)類型,默認是 string
  async: true, // 選填,是否異步,默認是 true
  success() {}, // 選填,成功的回調(diào)函數(shù)
  error() {}, // 選填,失敗的回調(diào)函數(shù)
  cache: true, // 選填,是否緩存,默認是 true
  context: div, // 選填,回調(diào)函數(shù)中的 this 指向,默認是 ajax 對象
  status: {}, // 選填,根據(jù)對應的狀態(tài)碼進行函數(shù)執(zhí)行
  timeout: 1000, // 選填,超時事件
 })

好像每次都要填好多參數(shù),但其實大部分參數(shù)都是選填的,我們只要看實際情況來填寫

在編譯器里面,直接輸入ajax也可以快捷生成部分代碼

發(fā)送ajax請求代碼

$.ajax({
  type: "get",
  url: "./test.php",
  data: {
   id:000,
   name:'發(fā)送$.ajax請求的演示'
  },
  dataType: "json",
  success: function (response) {
   console.log(response);
  }
  });

打開網(wǎng)頁就可以看到我們從后端拿回來的數(shù)據(jù)

下面補充幾個Ajax的全局函數(shù),也叫鉤子函數(shù),也就是在Ajax整個請求過程中的某一個階段執(zhí)行的函數(shù),而且是任意一個Ajax請求都會觸發(fā).

1. ajaxStart, 任意一個請求開始的時候都會觸發(fā)這個函數(shù)

$(window).ajaxStart(function () {
 console.log('有一個請求開始了')
})

2. ajaxSend , 任意一個 請求準備send之前都會觸發(fā)這個請求.

$(window).ajaxSend(function () {
 console.log('有一個要發(fā)送出去了')
})

3.ajaxSuccess, 任意一個 請求成功的時候都會觸發(fā)這個函數(shù).

$(window).ajaxSuccess(function () {
 console.log('有一個請求成功了')
})

4.ajaxError , 任意一個 請求失敗的時候就會觸發(fā)這個函數(shù).

$(window).ajaxError(function () {
 console.log('有一個請求失敗了')
})

5.ajaxComplete , 任意一個 請求完成的時候就會觸發(fā)這個函數(shù)

$(window).ajaxComplete(function () {
 console.log('有一個請求完成了')
})

6.ajaxStop , 任意一個 請求結束的時候就會觸發(fā)這個函數(shù)

$(window).ajaxStop(function () {
 console.log('有一個請求結束了')
})

總結

到此這篇關于jQuery中ajax的相關知識點匯總的文章就介紹到這了,更多相關jQuery ajax知識點內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 基于jquery css3實現(xiàn)點擊動畫彈出表單源碼特效

    基于jquery css3實現(xiàn)點擊動畫彈出表單源碼特效

    這篇文章主要介紹了基于jquery css3實現(xiàn)點擊動畫彈出表單,彈出的表單沒有任何遮蓋層,在web前端程序開發(fā)中經(jīng)常會用到,需要的朋友可以參考下
    2015-08-08
  • jQuery實現(xiàn)仿京東防抖動菜單效果示例

    jQuery實現(xiàn)仿京東防抖動菜單效果示例

    這篇文章主要介紹了jQuery實現(xiàn)仿京東防抖動菜單效果,結合實例形式分析了jQuery事件響應及頁面屬性動態(tài)操作相關實現(xiàn)技巧,需要的朋友可以參考下
    2018-07-07
  • jackson解析json字符串,首字母大寫會自動轉(zhuǎn)為小寫的方法

    jackson解析json字符串,首字母大寫會自動轉(zhuǎn)為小寫的方法

    下面小編就為大家分享一篇jackson解析json字符串,首字母大寫會自動轉(zhuǎn)為小寫的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • ztree實現(xiàn)權限橫向顯示功能

    ztree實現(xiàn)權限橫向顯示功能

    最近在做權限功能的時候,采用的ztree實現(xiàn)的,但是產(chǎn)品要求最后一層的權限節(jié)點要橫向顯示。下面小編把基于ztree實現(xiàn)權限橫向顯示功能的實現(xiàn)思路分享給大家,供大家參考
    2017-05-05
  • jquery 獲取 outerHtml 包含當前節(jié)點本身的代碼

    jquery 獲取 outerHtml 包含當前節(jié)點本身的代碼

    jQuery.html() 是獲取當前節(jié)點下的html代碼,并不包含當前節(jié)點本身的代碼,后來實驗發(fā)現(xiàn)有一個jQuery的一個方法可以解決
    2014-10-10
  • 基于JQuery的6個Tab選項卡插件

    基于JQuery的6個Tab選項卡插件

    今天在修整博客側欄信息時,利用到了Tab選項卡方式,因為ZBlog封裝的是JQuery庫,所以很自然地就想到了IdTabs。
    2010-09-09
  • jQuery EasyUI 組件加上“清除”功能實例詳解

    jQuery EasyUI 組件加上“清除”功能實例詳解

    在使用 EasyUI 各表單組件時,尤其是使用 ComboBox(下拉列表框)、DateBox(日期輸入框)、DateTimeBox(日期時間輸入框)這三個組件時,經(jīng)常會遇到下拉框或日期只允許選擇、不允許手動輸入功能,怎么解決呢,下面小編給大家分享解決方案,一起看看吧
    2017-04-04
  • jQuery側邊欄隨窗口滾動實現(xiàn)方法

    jQuery側邊欄隨窗口滾動實現(xiàn)方法

    jQuery側邊欄隨窗口滾動實現(xiàn)方法,需要的朋友可以參考一下
    2013-03-03
  • jquery click([data],fn)使用方法實例介紹

    jquery click([data],fn)使用方法實例介紹

    大概意思就是觸發(fā)每一個匹配元素的click事件,本文通過一個實例為大家詳細介紹下jquery click([data],fn)的使用方法,感興趣的朋友可以參考下哈,希望對大家有所幫助
    2013-07-07
  • jQuery實現(xiàn)簡單漂亮的Nav導航菜單效果

    jQuery實現(xiàn)簡單漂亮的Nav導航菜單效果

    這篇文章主要介紹了jQuery實現(xiàn)簡單漂亮的Nav導航菜單效果,涉及jQuery響應鼠標事件動態(tài)遍歷與操作頁面元素屬性的相關實現(xiàn)技巧,需要的朋友可以參考下
    2017-03-03

最新評論