国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

XMLHttpRequest對(duì)象的Get請(qǐng)求和Post請(qǐng)求的用法

這篇具有很好參考價(jià)值的文章主要介紹了XMLHttpRequest對(duì)象的Get請(qǐng)求和Post請(qǐng)求的用法。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

XMLHttpRequest對(duì)象的Get請(qǐng)求和Post請(qǐng)求的用法

Get請(qǐng)求提交數(shù)據(jù)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>發(fā)送ajax get請(qǐng)求</title>
</head>
<body>
<script type="text/javascript">
    window.onload = function (){
        var ajaxBtn= document.getElementById("ajaxBtn");
        ajaxBtn.onclick = function (){
            // 第一步:創(chuàng)建XMLHttpRequest對(duì)象
            var request = new XMLHttpRequest();
            // 第二步:注冊(cè)回調(diào)函數(shù)
            request.onreadystatechange = function () {
                    if (this.readyState == 4) {
                        if (this.status == 200) {
                            // innerHTML可以設(shè)置元素內(nèi)部的HTML代碼。(innerHTML可以將后面的內(nèi)容當(dāng)做一段HTML代碼解釋并執(zhí)行)
                            document.getElementById("mydiv").innerHTML = this.responseText
                        }else{
                            // status:返回請(qǐng)求的狀態(tài)號(hào)
                            alert(this.status)
                        }
                    }
            }
            // 第三步:開啟通道
            request.open("Get", "/ajax1/ajaxrequest1", true)
            // 第四步:發(fā)送請(qǐng)求
            request.send()
        }
    }
</script>

<input type="button" value="ajax" id="ajaxBtn">
<div id="mydiv"></div>
</body>
</html>
package com.ajax.servlet;

import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

import java.io.IOException;
import java.io.PrintWriter;

@WebServlet("/ajaxrequest1")
public class AjaxRequest extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        out.print("<font>hello ajax</font>");
    }
}

Post請(qǐng)求提交數(shù)據(jù)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script type="text/javascript">
    window.onload = function () {
        document.getElementById("btn").onclick = function () {
            // 第一步:創(chuàng)建XMLHttpRequest對(duì)象
            var xhr = new XMLHttpRequest();
            // 第二步:注冊(cè)回調(diào)函數(shù)
            xhr.onreadystatechange = function () {
                if(this.readyState == 4){
                    if (this.status == 200){
                        document.getElementById("mydiv").innerHTML = this.responseText
                    }else{
                        alert(this.status)
                    }
                }
            }
            // 第三步:開啟通道
            xhr.open("Post", "/ajax1/ajaxrequest", true)
            // 第四步:發(fā)送請(qǐng)求
            // 設(shè)置請(qǐng)求頭的內(nèi)容類型,模擬Ajax提交form表單
            xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
            var username = document.getElementById("username").value;
            var password = document.getElementById("password").value;
            xhr.send("username="+username+"&password="+password )
        }
    }    
</script>

用戶名:<input type="text" id="username"><br>
密碼:<input type="text" id="password"><br>
<button id="btn">提交</button>

<div id="mydiv"></div>
</body>
</html>
package com.ajax.servlet;

import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

import java.io.IOException;
import java.io.PrintWriter;

@WebServlet("/ajaxrequest")
public class AjaxRequest3Servlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();

        // 獲取提交的數(shù)據(jù)
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        out.print("用戶名:" + username);
        out.print("密碼:" + password);
    }
}

GET和POST請(qǐng)求時(shí)的區(qū)別

  • GET請(qǐng)求提交數(shù)據(jù)是在“請(qǐng)求行”上提交,而POST請(qǐng)求是在“請(qǐng)求頭”。
  • 所以,POST請(qǐng)求需要在open和send方法中添加一行代碼xxx.setRequestHeader(),用來設(shè)置請(qǐng)求頭的內(nèi)容。

以上代碼中出現(xiàn)的XMLHttpRequest對(duì)象的方法和屬性

onreadystatechange屬性

  • 功能:定義當(dāng) readyState 屬性發(fā)生變化時(shí)被調(diào)用的函數(shù)
var xxx = new XMLHttpRequest();
xxx.onreadystatechange = function () {
        console.log(xxx.readyState)
    }
}

open()方法

  • 功能:開啟通道
  • open(method, url, async, user, psw)
    • method:請(qǐng)求的方式,可以是GET,也可以是POST,也可以是其它請(qǐng)求方式。
    • url:請(qǐng)求的路徑(/項(xiàng)目名/@WebServlet路徑)
      • 注:@WebServlet路徑可以隨便填寫,但是要和java代碼注解的@WebServlet(“/”)一致
    • async:只能是trve或者false,trve表示此ajax請(qǐng)求是一個(gè)異步請(qǐng)求,false表示此ajax請(qǐng)求是一個(gè)同步請(qǐng)求。
    • user(非必填項(xiàng)):用戶名 pwd:密碼,用戶名和密碼是進(jìn)行身份認(rèn)證的,說明要想訪問這個(gè)服務(wù)器上的資源,可能需要提供一些口令才能訪問。
xxx.open("Get", "/項(xiàng)目名/@WebServlet路徑", true)

send()方法

  • 功能:發(fā)送請(qǐng)求到服務(wù)器
// 發(fā)送GET請(qǐng)求到服務(wù)器
xxx.send()

// 發(fā)送POST請(qǐng)求到服務(wù)器
xxx.send(string)

responseText屬性

  • 功能:以字符串返回響應(yīng)數(shù)據(jù)
// 在GET請(qǐng)求中出現(xiàn)的代碼
out.print("<font>hello ajax</font>");
document.getElementById("mydiv").innerHTML = this.responseText
    
<div id="mydiv"></div>
  • 以上代碼中的字符串內(nèi)容通過responseText接收,并賦值給div標(biāo)簽中,再使用innerHTML轉(zhuǎn)變成html代碼執(zhí)行

status屬性

  • 功能:返回請(qǐng)求的狀態(tài)號(hào)(200: “OK”,404: “Not Found”…)

onblur失去焦點(diǎn)事件 和 onfocus獲取焦點(diǎn)

  • onblur功能:當(dāng)失去焦點(diǎn)時(shí),就發(fā)送Ajax POST請(qǐng)求,提交用戶名。
    • 什么叫失去焦點(diǎn)?
      • 當(dāng)你將鼠標(biāo)點(diǎn)在頁(yè)面搜索框中輸入時(shí),會(huì)出現(xiàn)光標(biāo),而點(diǎn)擊到輸入框以外的地方,使得輸入框中的光標(biāo)消失,則為失去焦點(diǎn)。
  • onfocus功能:獲取焦點(diǎn)
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>AJAX POST請(qǐng)求驗(yàn)證同戶名是否可用</title>
</head>
<body>
<script type="text/javascript">
    window.onload = function () {
        document.getElementById("username").onfocus = function () {
            document.getElementById("tipMsg").innerHTML = ""
        }

        document.getElementById("username").onblur = function () {
            // console.log('失去焦點(diǎn)')
            var xhr = new XMLHttpRequest();
            xhr.onreadystatechange = function () {
                if (this.readyState == 4) {
                    if (this.status == 200) {
                        document.getElementById("tipMsg").innerHTML = this.responseText
                    }else {
                        alert(this.status)
                    }
                }
            }
            xhr.open("POST", "/ajax1/ajaxrequest5", true)
            xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
            var username = document.getElementById("username").value;
            xhr.send("username=" + username)
        }
    }
</script>
用戶名:<input type="text" id="username">

<span id="tipMsg"></span>
</body>
</html>

文章來源地址http://www.zghlxwxcb.cn/news/detail-723611.html

到了這里,關(guān)于XMLHttpRequest對(duì)象的Get請(qǐng)求和Post請(qǐng)求的用法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • javascript二維數(shù)組(21)執(zhí)行異步HTTP(Ajax)請(qǐng)求的方法($.get、$.post、$getJSON、$ajax)

    . g e t 、 .get、 . g e t 、 .post、 g e t J S O N 、 getJSON、 g e t J SON 、 ajax都是jQuery提供的用于執(zhí)行異步HTTP(Ajax)請(qǐng)求的方法。每個(gè)方法都有其特定的用途和區(qū)別。 . g e t :這個(gè)方法使用 G E T 方式來進(jìn)行異步請(qǐng)求。其語(yǔ)法結(jié)構(gòu)為: .get:這個(gè)方法使用GET方式來進(jìn)行異步請(qǐng)求。其語(yǔ)

    2024年02月07日
    瀏覽(28)
  • ajax-axios發(fā)送 get請(qǐng)求 或者 發(fā)送post請(qǐng)求帶有請(qǐng)求體參數(shù)
  • AJAX 使用 JavaScript 的 `XMLHttpRequest` 對(duì)象來向服務(wù)器發(fā)送異步請(qǐng)求

    AJAX 使用 JavaScript 的 `XMLHttpRequest` 對(duì)象來向服務(wù)器發(fā)送異步請(qǐng)求

    AJAX 是一種使用異步 HTTP (Ajax) 請(qǐng)求獲取和發(fā)送數(shù)據(jù)的技術(shù)。它使得網(wǎng)頁(yè)能夠進(jìn)行異步更新,而不需要重新加載整個(gè)頁(yè)面。通過使用 AJAX,可以在不重新加載整個(gè)頁(yè)面的情況下,與服務(wù)器交換數(shù)據(jù)并更新部分網(wǎng)頁(yè)內(nèi)容。 AJAX 使用 JavaScript 的 XMLHttpRequest 對(duì)象來向服務(wù)器發(fā)送異步請(qǐng)

    2024年01月16日
    瀏覽(27)
  • HTTP協(xié)議 GET和POST區(qū)別 請(qǐng)求響應(yīng) Fiddler postman ajax

    HTTP協(xié)議 GET和POST區(qū)別 請(qǐng)求響應(yīng) Fiddler postman ajax

    ?? 歡迎來閱讀子豪的博客( JavaEE篇 ??) ?? 有寶貴的意見或建議可以在留言區(qū) 留言 ?? 歡迎 素質(zhì)三連 點(diǎn)贊 關(guān)注 收藏 ?????碼云倉(cāng)庫(kù):補(bǔ)集王子的代碼倉(cāng)庫(kù) 不要偷走我小火車哦~ ~ ~ HTTP (全稱為 “超文本傳輸協(xié)議”) 是一種應(yīng)用非常廣泛的 應(yīng)用層協(xié)議. HTTP 誕生與1991年

    2023年04月27日
    瀏覽(50)
  • Java對(duì)接百度文心一言,Java發(fā)送POST請(qǐng)求,類似前端AJAX

    這是項(xiàng)目中使用的對(duì)接百度文心一言后端代碼

    2024年02月15日
    瀏覽(21)
  • ajax請(qǐng)求——XMLHttpRequest請(qǐng)求

    ajax請(qǐng)求——XMLHttpRequest請(qǐng)求

    ?個(gè)人練習(xí)筆記-----Ajax01 一、GET ?https://v5.crmeb.net/api/groom/list/3?page=1limit=9? ------協(xié)議:// 域名 / 地址?參數(shù) 1.xhr.open(\\\"GET\\\",\\\"https://v5.crmeb.net/api/groom/list/3?page=1limit=9\\\");對(duì)應(yīng)的參數(shù)從下圖中所示中獲取 2.xhr.setRequestHeader(\\\"Content-Type\\\",\\\"application/json\\\");//驗(yàn)證身份 xhr.setRequestHeader(\\\"Authori-Z

    2024年02月03日
    瀏覽(25)
  • Ajax異步通信與XMLhttpRequest對(duì)象的屬性方法及事件

    Ajax異步通信與XMLhttpRequest對(duì)象的屬性方法及事件

    AJAX 的英文全稱?Asynchronous JavaScript And XML,其中Asynchronous就是指的異步,這里異步指通過 AJAX 向服務(wù)器請(qǐng)求數(shù)據(jù),在不刷新整個(gè)頁(yè)面的情況下,更新頁(yè)面上的部分內(nèi)容。 通過使用Ajax,可以創(chuàng)建更動(dòng)態(tài)和響應(yīng)性的Web應(yīng)用程序,因?yàn)樗沟庙?yè)面可以在后臺(tái)與服務(wù)器進(jìn)行數(shù)據(jù)交換,

    2024年03月14日
    瀏覽(47)
  • 前端異步編程全套:xmlhttprequest > ajax > promise > async/await

    同步與異步區(qū)別 同步:按順序,依次執(zhí)行,向服務(wù)器發(fā)送請(qǐng)求--客戶端做其他操作 異步:分別執(zhí)行,向服務(wù)器發(fā)送請(qǐng)求==同時(shí)執(zhí)行其他操作 原生xmlhttprequest 四步驟 創(chuàng)建ajax對(duì)象 設(shè)定數(shù)據(jù)的傳輸方式(get、post),打開連接open() 獲得響應(yīng)數(shù)據(jù) 屬性 描述 onreadystatechange 當(dāng)readysta

    2024年02月01日
    瀏覽(105)
  • 【Ajax】筆記-POST請(qǐng)求(原生)

    【Ajax】筆記-POST請(qǐng)求(原生)

    html 服務(wù)server.js post請(qǐng)求攜帶參數(shù),是在發(fā)送請(qǐng)求的時(shí)候攜帶的 設(shè)置請(qǐng)求頭一般傳遞用戶身份識(shí)別信息

    2024年02月16日
    瀏覽(24)
  • AJAX學(xué)習(xí)筆記2發(fā)送Post請(qǐng)求

    AJAX學(xué)習(xí)筆記2發(fā)送Post請(qǐng)求

    AJAX學(xué)習(xí)筆記1發(fā)送Get請(qǐng)求_biubiubiu0706的博客-CSDN博客 繼續(xù) AJAX發(fā)送POST請(qǐng)求? 無(wú)參數(shù) 測(cè)試 改回來 ? 測(cè)試 AJAX POST請(qǐng)求? ?請(qǐng)求體中提交參數(shù) 測(cè)試 后端打斷點(diǎn) 如何用AJAX模擬form表單post請(qǐng)求提交數(shù)據(jù)呢? 設(shè)置請(qǐng)求頭必須在open之后,send之前 請(qǐng)求頭里的設(shè)置好比f(wàn)orm表單的enctype

    2024年02月10日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包