Day17_1--AJAX学习之GET/POST传参

news2024/9/23 9:30:02

AJAX 简介

AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。其实AJAX就可以理解为就是JS。通过AJAX也就实现了前后端分离,前端只写页面,后端生成数据!

现在开始通过实例学习:

1--GET传参

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<script>
    function ajax2() {
        //0:获取input内容
        let user = document.querySelector(".user").value;
        let pwd = document.querySelector(".pwd").value;
        //1:创建ajax对象
        let xmlHttpRequest = new XMLHttpRequest();
        //2:配置后端请求--get请求参数用?和&来传参数
        xmlHttpRequest.open("get", "/stage1_war_exploded/ajax2?user="+user+"&pwd="+pwd, true)
        //3:发送请求
        xmlHttpRequest.send();
        //4:监听数据是否请求成功
        xmlHttpRequest.onreadystatechange = function () {
            //5:如果服务器成功解析数据则readyState=4,如果后端成功返回数据则state=200
            if (xmlHttpRequest.readyState == 4 && xmlHttpRequest.status == 200) {
                //6:获取后端数据
                let data = xmlHttpRequest.responseText;
                //7:将数据插入前端页面
                document.getElementById("show").innerHTML = data;
            }
        }
    }
    </script>
<body>
<div id="show" style="border: 1px red; width: 200px;height: 100px">
</div>
账号<input type="text" class="user"><br>
密码<input type="text" class="pwd"><br>
<button onclick="ajax2()">提交</button>//当点击按钮后,调用ajax2()方法
</body>
</html>

2--后端生产数据

@WebServlet("/ajax2")
public class ajax2 extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //设置编码
        req.setCharacterEncoding("utf-8");
        resp.setContentType("text/html;charset=utf-8");
        //后端获取get方式的参数就用getParameter
        String user = req.getParameter("user");
        String pwd = req.getParameter("pwd");
        PrintWriter writer = resp.getWriter();
        //将后端数据返回给前端
        writer.write("后端数据来了"+user+"-----"+pwd);
    }
}

3--POST传参

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<script>
    function ajax2() {
        //0:获取input内容
        let user = document.querySelector(".user").value;
        let pwd = document.querySelector(".pwd").value;
        //1:创建ajax对象
        let xmlHttpRequest = new XMLHttpRequest();
        //2:配置后端请求
        xmlHttpRequest.open("post", "/stage1_war_exploded/ajax2", true);
        //3:发送请求
        //3_1:post请求必须设置请求头--一个单词都不能错:固定写法
        xmlHttpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        //3_2:发送请求和post参数———————其他地方和get相同
        xmlHttpRequest.send("user=" + user + "&pwd=" + pwd);
        //4:监听数据是否请求成功
        xmlHttpRequest.onreadystatechange = function () {
            //5:如果服务器成功解析数据则readyState=4,如果后端成功返回数据则state=200
            if (xmlHttpRequest.readyState == 4 && xmlHttpRequest.status == 200) {
                //6:获取后端数据
                let data = xmlHttpRequest.responseText;
                //7:将数据插入前端页面
                document.getElementById("show").innerHTML = data;
            }
        }
    }
</script>
<body>
<div id="show" style="border: 1px red; width: 200px;height: 100px">
</div>
账号<input type="text" class="user"><br>
密码<input type="text" class="pwd"><br>
<button onclick="ajax2()">提交</button>
</body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1976682.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

4.4 标准正交基和格拉姆-施密特正交化

本节的两个目标就是为什么和怎么做(why and how)。首先是知道为什么正交性很好&#xff1a;因为它们的点积为零&#xff1b; A T A A^TA ATA 是对角矩阵&#xff1b;在求 x ^ \boldsymbol{\hat x} x^ 和 p A x ^ \boldsymbol pA\boldsymbol{\hat x} pAx^ 时也会很简单。第二…

深入解析 kubectl describe pod:全面了解 Kubernetes Pod 的运行状态

引言 在 Kubernetes 集群中&#xff0c;kubectl describe pod 命令是运维人员和开发者常用的工具之一&#xff0c;它提供了有关 Pod 的详细信息&#xff0c;帮助我们了解 Pod 的状态、配置和运行状况。这篇博文将深入解析 kubectl describe pod 命令的输出内容&#xff0c;逐项…

Transformer网络的魔改结构与应用领域

Transformer网络的魔改结构与应用领域 Transformer的基础架构Transformer的变体Transformer的应用领域未来发展方向 参考文献 自从Transformer架构在2017年被提出以来&#xff0c;它已经成为深度学习领域的一项革命性技术。Transformer最初应用于自然语言处理&#xff08;NLP&a…

测试左移,浅谈如何编写可反复执行的单元测试用例

测试左移&#xff0c;浅谈如何编写可反复执行的单元测试用例 背景当下现状期望目标当下困境 解决问题问题1&#xff1a;事务提交Transactional代码示例 问题2&#xff1a;对数据库数据强依赖Sql代码示例SQL脚本示例 问题3&#xff1a;断言assert的使用代码示例DemoTestBaseAppl…

触想工业显示器方案在汽车装配生产线上的应用

一、行业发展背景 中国汽车工业协会数据显示&#xff0c;2023年我国汽车产销量双双实现历史性突破&#xff0c;分别达到3016.1万辆和3009.4万辆&#xff0c;并连续15年位居全球首位。 汽车产业热销背后是先进的生产装配体系支撑&#xff0c;从零部件到整车&#xff0c;汽车的生…

IntelliJ IDEA下载、安装、运行,示例代码;最详细安装和运行教程

IntelliJ IDEA下载、安装、运行&#xff0c;最详细安装教程 以下内容参考&#xff1a; 原文标题&#xff1a;IntelliJ IDEA下载安装教程&#xff08;非常详细&#xff09;从零基础入门到精通&#xff0c;看完这一篇就够了-CSDN博客 原文地址&#xff1a;https://blog.csdn.net/…

汇编语言代码中立即数的前缀和后缀

汇编语言的语法细节非常多&#xff1b; 1 以A-F开头的十六进制数前需要加0 在汇编语言代码中&#xff0c;‌以A-F开头的十六进制数前需要加0以避免被识别为助记符。‌ 如下图&#xff0c; MOV AL, AFH&#xff0c; 这样将报错&#xff1b; AFH的前面加0就对了&#xf…

基于STM32的智能医疗监控系统教程

目录 引言环境准备智能医疗监控系统基础代码实现&#xff1a;实现智能医疗监控系统 生理参数监测模块数据处理与存储模块无线通信模块用户界面与报警系统应用场景&#xff1a;医疗监测与优化常见问题与解决方案收尾与总结 引言 随着健康管理需求的增加&#xff0c;智能医疗监…

“消费新纪元:解锁消费增值的无限可能“

亲爱的顾客朋友们&#xff0c;大家好&#xff01;今天&#xff0c;我非常荣幸能与大家分享一种前沿的消费理念——“消费增值”&#xff0c;它旨在让您的每一次消费都充满额外的价值与回报&#xff01; 在传统消费观念里&#xff0c;我们往往只是简单地支付金钱以换取商品或服务…

IBM:生成式AI时代的网络安全研究报告

《生成式 AI 时代的网络安全》由 IBM 发布&#xff0c;该报告指出随着生成式 AI 在企业中的广泛应用&#xff0c;网络安全面临新的挑战与机遇。 一、简介 网络安全领导者在面对生成式 AI 带来的变革时&#xff0c;需应对其潜在风险。尽管生成式 AI 能大幅提高企业生产力&…

学python的第二天:第一个代码

打印一个“Hello World” print 中文含义“打印” PyCharm&#xff08;以后简称PC&#x1f641;&#xff09;的参数解释 它吧啦吧啦说个不停 但我只打印一个“Hello World” 代码&#xff1a; print("Hello World") 效果&#xff1a; 魔改时间到 一号选手 请…

python 可视化探索(三):Seaborn数据可视化

总结&#xff1a;本文为和鲸python 可视化探索训练营资料整理而来&#xff0c;加入了自己的理解&#xff08;by GPT4o&#xff09; 原作者&#xff1a;作者&#xff1a;大话数据分析&#xff0c;知乎、公众号【大话数据分析】主理人&#xff0c;5年数据分析经验&#xff0c;前…

0803实操-数字取证

0803实操-数字取证 易失性数据收集 创建应急工具箱&#xff0c;并生成工具箱校验和&#xff0c;能在最低限度地改变系统状态的情况下收集易失性数据。 数据箱 使用md5sums.exe对工具目录中的所有文件进行计算 获取计算机本地日期和时间。输入命令date/t>timefront.txt和…

MES系统在企业数字化转型中扮演了什么样的角色

MES系统&#xff08;制造执行系统&#xff09;在企业数字化转型中扮演了至关重要的角色。以下是MES系统在企业数字化转型中的具体作用&#xff1a; 一、实现生产过程的数字化与智能化 实时监控与数据采集&#xff1a;MES系统通过实时监控和数据采集&#xff0c;将传统的手工记…

npos解析

概念理解 .npos是一个常数&#xff0c;表示size_t的最大值&#xff08;Maximum value for size_t&#xff09;。许多容器都提供这个东西&#xff0c;用来表示不存在的位置 #include <iostream> #include <limits> #include <string> using namespace …

使用Chainlit接入通义千问快速实现一个本地文档知识问答机器人增强版

前言 之前写了一篇文章&#xff0c;使用国内通义千问作为llm&#xff0c;结合langchain框架实现文本向量化检索和使用chainlit实现网页界面交互&#xff0c;实现一个本地知识问答的机器人。原文链接《使用Chainlit接入通义千问快速实现一个本地文档知识问答机器人》。本次基于…

七夕情人节有什么好物推荐?五款性价比超高的产品推荐!

亲爱的朋友们&#xff0c;随着七夕情人节的临近&#xff0c;空气中弥漫着浪漫与甜蜜的气息。在这个专属恋人的节日里&#xff0c;团团知道大家在为心爱的人挑选礼物时可能会感到纠结。因此&#xff0c;我根据个人的浪漫经验和精心的市场挑选&#xff0c;为大家准备了一份情人节…

商家接单业务

文章目录 概要整体架构流程技术细节小结 概要 商家接单是电子商务、外卖平台、在线零售等多个行业中的一项核心业务流程。这项功能允许商家接收来自客户的订单&#xff0c;并对其进行处理。 需求分析以及接口设计 技术细节 1.Controller层: /*** 接单* param orderConfirmD…

常回家看看之tcachebin-attack

常回家看看之tcachebin-attack 自从glibc2.26之后出现了新的堆管理机制&#xff0c;及引用了tcachebin机制&#xff0c;tcachebin也是主要分配小堆块的&#xff0c;有40条bin链&#xff08;0x10 - 0x410&#xff09; 那么这样的分配有很多和smallbin 和fastbin重叠的部分&…

使用labelme生成mask数据集(亲测可行)

1、下载label.exe文件 链接&#xff1a;github地址 2、安装一下anaconda&#xff0c;百度一下直接安装就行 3、打开labelme.exe文件&#xff0c;直接加载图片&#xff0c;然后编辑多边形&#xff0c;就是mask的位置 4、画好mask了&#xff0c;保存为json文件&#xff0c;记住这…