携带数据的Ajax POST请求

news2025/1/13 11:24:37

前端页面代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>发送ajax POST请求 看如何携带数据</title>
    <script type="text/javascript">
        window.onload = function () {
            document.getElementById("btn").onclick = function () {
                //发送ajax POST 请求
                //1.创建ajax核心对象
                var xhr = new XMLHttpRequest();
                //2.注册回调函数
                xhr.onreadystatechange = function () {
                    if (this.readyState == 4) {
                        if (this.status == 200) {
                            document.getElementById("myDiv").innerHTML = xhr.responseText;
                        }
                        else {
                            alert(this.status)
                        }
                    }
                };
                //3.打开通道
                xhr.open("POST","/ajax/request3",true);
                //4.发送请求
                //发送POST请求需要设置请求头的内容类型,下行代码很重要,有了它就能模拟form表单提交POST请求
                //还需要注意这行代码的位置必须是放到打开通道的代码之后,放到"打开通道"之前不可以。
                xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
                //使用JS代码获取用户填写的信息
                var userName = document.getElementById("userName").value;
                var password = document.getElementById("pwd").value;
                //xhr.send("注意:放在此处的数据就是在请求体中提交的数据,这里的格式需要遵循HTTP协议:name=value&name=value")
                xhr.send("username="+ userName +"&password=" + password)
            }
        }
    </script>
</head>
<body bgcolor="#fff8dc">
    用户名:<input type="text" id="userName"><br/>
    密码:<input type="password" id="pwd"><br/>
    <button id="btn">点击按钮发送ajaxPOST请求</button>
    <div id="myDiv"></div>
</body>
</html>

服务端代码:

package com.yjg.ajax.servlet;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

@WebServlet("/request3")
public class AjaxRequest3Servlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) 
            throws ServletException, IOException {
        //解决post请求中文乱码问题
        request.setCharacterEncoding("UTF-8");
        //接收数据
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        //设置响应内容的类型和字符集
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        out.print("用户名:" + username + ";密码:" + password);
    }
}
 

程序运行之后浏览器页面显示效果:

                

 

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

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

相关文章

MES管理系统有什么功能?前期实施MES需要做些什么

MES系统是在制造业数字化的环境下&#xff0c;围绕生产制造执行而开发的一套生产管理系统。它以车间为管理核心&#xff0c;通过集成各信息系统&#xff0c;整合企业资源&#xff0c;实现从订单下达到产品完成的整个生产制造过程的数字化管理。 MES系统在实施前需要进行各种准备…

“UTONMOS吧”的出现,能否唤起百度贴吧曾经的辉煌?

百度贴吧&#xff0c;诞生于一个中文互联网尚且信息不足的时代&#xff0c;并建立起了一个庞大的社区。然而进入自媒体时代&#xff0c;贴吧这个大广场日渐冷清&#xff0c;2015年月活用户超过3亿&#xff0c;到2021年已不足4000万。 梗的流行&#xff0c;带动一大批人开始网上…

OpenShift 4 - KubeVirt 虚机使用的磁盘和卷

《OpenShift / RHEL / DevSecOps 汇总目录》 说明&#xff1a;本文已经在 OpenShift 4.12 环境中验证 文章目录 KubeVirt 虚机的磁盘和卷Disk 磁盘Volume 卷 磁盘和卷示例containerDisk 卷示例cloudInitNoCloud 卷示例dataVolume 卷示例基于容器镜像基于 qcow2 文件基于 DataSo…

放大招:三步搞定ChatGPT提示词,轻松写出高质量提问,最新经验分享

在撰写ChatGPT提示语的时候&#xff0c;有一个基本的三层结构&#xff0c;经过在工作和生活上的实践&#xff0c;有助于解决大多数不同类型的任务。 尤其在你的问题有点复杂&#xff0c;想不清楚要怎么问比较好的时候&#xff0c;通过三层结构&#xff0c;让我们有结构的提出问…

力扣简单题

目录 9、回文数 13、罗马数字转整数 14、最长公共前缀 20、有效的括号 58、最后一个单词的长度 66、加一 69、x的平方根 94、二叉树的中序遍历 100、相同的树 202、快乐数 205、同构字符串 242、有效的字母异位词 258、各位相加 268、丢失的数字 290、单词…

Github 使用教学

&#x1f4ad; 写在前面&#xff1a;本章我们将介绍 Git 的基本使用方法&#xff0c;包括注册 GitHub 账号、设置 Git、创建本地存储库、复制本地存储库、导入远程存储库、追加、提交、合并等常用操作。我们还会教你如何在 GitHub 上创建项目&#xff0c;使用 git clone 命令克…

盘“底座”,盘出新生意经

本文转自首席信息官 作者 徐蕊 导读 卖“底座”&#xff0c;这是一门新的生意&#xff0c;也是用友与友商差异化的商业竞争优势所在。 大型企业都在建“数智化底座” 有这样两类企业&#xff0c;他们截然不同&#xff0c;但在数智化的建设上殊途同归。 随着中国经济的发展&a…

SLAM论文速递:经典动态SLAM解析—(2021)DP-SLAM:面向动态环境的移动概率视觉SLAM—5.08(1)

论文信息 题目&#xff1a; DP-SLAM:A visual SLAM with moving probability towards dynamic environments DP-SLAM:面向动态环境的移动概率视觉SLAM论文地址&#xff1a; 发表期刊&#xff1a; 标签 语义分割几何约束、动态概率传播、 摘要 文中提出了一种基于稀疏特征的视觉…

DDD分层架构浅析

大家好&#xff0c;我是易安&#xff01;今天我们聊下DDD分层架构 微服务架构模型有好多种&#xff0c;例如整洁架构、CQRS和六边形架构等等。每种架构模式虽然提出的时代和背景不同&#xff0c;但其核心理念都是为了设计出“高内聚低耦合”的架构&#xff0c;轻松实现架构演进…

【P12】JMeter 准确的吞吐量定时器(Precise Throughput Timer)

&#xff08;1&#xff09;、测试计划右键 <<< 添加 <<< 定时器 <<< 准确的吞吐量定时器&#xff08;Precise Throughput Timer&#xff09; 目标吞吐量&#xff08;每个“吞吐期”的样本&#xff09;&#xff1a;15.0 吞吐量周期&#xff08;秒&a…

ArcGIS植被覆盖度计算与栅格计算

遥感&#xff0c;顾名思义就是遥远的感知。就是利用飞机、卫星等平台对地球进行观测并获取数据。这里的数据可以使光谱数据、磁场数据等。今天我们就用一个简单的例子来说明ArcGIS对遥感数据的处理&#xff0c;但是ArcGIS处理遥感并没有其他专业遥感软件如ENVI那样强大&#xf…

(转载)04.Matplotlib-文本注释数学表达式设置

1. matplotlib.pyplot.text 文本基本参数设置 2. matplotlib.pyplot.annotate 注释基本参数设置 Matplotlib 支持绘制 TeX 包含的数学符号。TeX 是一套功能强大、十分灵活的排版语言&#xff0c;它可以用来绘制文本、符号、数学表达式等。通过下表中的方法可以绘制出相应的内容…

Java基础学习(13)

Java基础学习 一、File1.1 File详情1.2 File常见的成员方法1.2.1 判断获取1.2.2 创建删除1.2.3 获取遍历 二、IO流2.1 IO流体系2.2 FileOutputStream2.2.1 FileOutputStream写数据的3种方式2.2.2 FileOutputStream换行写:2.2.3 FileOutputStream续写 2.3 FilelnputStream拷贝文…

Go语言中的流程控制语句

目录 流程控制语句 if语句 ifelse语句 switch语句 for循环 break语句 continue语句 goto语句 流程控制语句 if语句 在Go语言中&#xff0c;可以在if后面加上一段执行语句&#xff0c;执行语句也可以用作对if条件的判断。它的语法格式为&#xff1a; if a : conditio…

MySQL_3 数据库的“CRUD“

目录 一、添加数据 1.基本语法 : 2.代码演示 : 二、查找数据 1.基本语法 : 2.代码演示 : 3.查询中的计算 : 4.WHERE子句的扩展 : 5.排序查询 : 三、修改数据 1.基本语法 : 2.代码演示 : 四、删除数据 1.基本语法 : 2.代码演示 : 一、添加数据 1.基本语法 : INS…

吹爆,全网第一个手把手教你从零开始搭建Spring Cloud Alibaba的笔记

Spring Cloud Alibaba 是阿里巴巴提供的微服务开发一站式解决方案&#xff0c;是阿里巴巴开源中间件与 Spring Cloud 体系的融合。 Springcloud 和 Srpingcloud Alibaba 区别&#xff1f; SpringCloud&#xff1a; 部分组件停止维护和更新&#xff0c;给开发带来不便;SpringCl…

stm32103ZET6使用编码器(磁电增量式)

这里写目录标题 磁电增量式编码器介绍TIM定时器&#xff08;编码器接口模式&#xff09;一些用到的算法均值滤波冒泡排序&#xff08;从小到大&#xff09;一阶低通滤波 编码器测数代码编码器接口HAL库函数 正点原子的电机例程(原例程用的是stm32f407&#xff0c;我这里改成用s…

ClickHouse:对不同类型Join的支持

ClickHouse 是一个流行的开源实时分析数据库&#xff0c;旨在为需要在大量数据上进行超低延迟分析查询的用例提供最佳性能。为了在分析应用程序中实现最佳性能&#xff0c;通常需要将表组合在一起进行数据非规范化处理。扁平化表通过避免联接来帮助最小化查询延迟&#xff0c;以…

从零开始学【网络安全】

前言&#xff1a;网络安全如何从零开始学习&#xff0c;少走弯路&#xff1f; 目录&#xff1a; 一&#xff0c;怎么入门&#xff1f; 1、Web 安全相关概念&#xff08;2 周&#xff09;2、熟悉渗透相关工具&#xff08;3 周&#xff09;3、渗透实战操作&#xff08;5 周&…

DevData Talks | 思码逸陆春蕊:研发效能度量落地的难点与计策

本期 DevData Talks 直播活动邀请到的重磅嘉宾是思码逸高级咨询专家陆春蕊老师。陆春蕊老师曾就职于Oracle&#xff0c;在软件质量、项目管理方面有着丰富的经验&#xff0c;在思码逸为上百家客户提供了研发效能体系、数据分析、实践落地等方面的咨询。 陆春蕊老师与我们聊了聊…