AJAX学习笔记4解决乱码问题

2023-10-29

AJAX学习笔记3练习_biubiubiu0706的博客-CSDN博客

在Tomcat10来说,AJAX  GET或者POST接收响应都不存在乱码问题

对于Tomcat9来说

前端测试代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>测试AJAX乱码问题</title>
</head>
<body>
<script type="text/javascript">
    window.onload=function (){
        //GET
        document.getElementById("btn1").onclick=function(){
            var xhr=new XMLHttpRequest();
            xhr.onreadystatechange=function (){
                if(this.readyState==4){
                    if(this.status==200){
                        document.getElementById("mydiv").innerHTML=this.responseText
                    }else{
                        alert("请求发送失败")
                    }
                }
            }
            var username=document.getElementById("username").value
            xhr.open("get","/ajax/luanma?username="+username,true)

            xhr.send()
        }
        //POST
        document.getElementById("btn2").onclick=function(){
            var xhr=new XMLHttpRequest();
            xhr.onreadystatechange=function (){
                if(this.readyState==4){
                    if(this.status==200){
                        document.getElementById("mydiv").innerHTML=this.responseText
                    }else{
                        alert("请求发送失败")
                    }
                }
            }
            var username=document.getElementById("username").value
            xhr.open("post","/ajax/luanma",true)
            xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
            xhr.send("username="+username)
        }
    }
</script>


<input type="text" id="username">
<button id="btn1">发送AJAX GET请求,测试乱码问题</button>
<button id="btn2">发送AJAX POST请求,测试乱码问题</button>

<div id="mydiv"></div>
</body>
</html>

后端测试代码

package com.web;

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;

/**
 * @author hrui
 * @date 2023/9/4 6:02
 */
@WebServlet("/luanma")
public class AjaxRequestLuanma extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //接收的中文会不会乱码
        String username = req.getParameter("username");
        System.out.println(username);
        //响应中文会乱码吗
        PrintWriter writer = resp.getWriter();
        writer.print("GET响应");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //接收的中文会不会乱码
        String username = req.getParameter("username");
        System.out.println(username);
        //响应中文会乱码吗
        PrintWriter writer = resp.getWriter();
        writer.print("POST响应");
    }
}

解决方式

package com.web;

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;
import java.sql.ResultSet;

/**
 * @author hrui
 * @date 2023/9/4 6:02
 */
@WebServlet("/luanma")
public class AjaxRequestLuanma extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //接收的中文会不会乱码
        String username = req.getParameter("username");
        System.out.println(username);
        //响应中文会乱码吗
        resp.setContentType("text/html;charset=utf-8");
        PrintWriter writer = resp.getWriter();
        writer.print("GET响应");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //接收的中文会不会乱码
        req.setCharacterEncoding("utf-8");//解决body体乱码问题
        String username = req.getParameter("username");
        System.out.println(username);
        //响应中文会乱码吗
        resp.setContentType("text/html;charset=utf-8");
        PrintWriter writer = resp.getWriter();
        writer.print("POST响应");
    }
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AJAX学习笔记4解决乱码问题 的相关文章

  • 带有 ajax 提交处理程序的 jquery 验证插件不起作用

    在过去的几天里 我已经多次使用了 jquery 验证插件 但尚未将其与 ajax 提交一起使用 我所拥有的在下面被削减为两个字段 提交时值没有错误 单击提交按钮时不会发生任何提交 它只是什么都不做 HTML
  • 我创建了一个对话框,现在如何关闭它?

    我在下面添加了一个指向我网站的链接 用于查看头部部分中的 JS 并让您了解我是如何设置这一切的 如果您不想使用该链接 我也会尝试添加下面的代码 我最近在我网站的某些页面上学习了一些基本的 AJAX我创建了一个对话框 您将看到它出现在滚动条上
  • 仅在图像加载后应用 jQuery 瀑布“回流”

    我正在使用 jQuery 瀑布来显示网格样式 为了阻止常见的图像重叠问题 我将瀑布方法包装在 load 函数中 例如 window load function buildcontainer waterfall colMinWidth 260
  • 使用 Laravel 在 Bootstrap 模式中动态加载表单

    我正在开发应用程序 它需要引导模式中的表单 并且还动态加载表单 我面临的问题是所有页面都再次以模式加载 这里有人为此提供任何例子吗 控制器 public function loadJsModalForm return View make f
  • JQuery - 使用 JSON 的属性创建输入

    我正在尝试使用 JSON 设置的 id 和 value 属性创建一个输入 我有一个获取 JSON 的 ajax 调用 返回的数据很好 对于 JSON 中的每个对象 我想创建一个带有 ID 和 JSON 值的按钮 阿贾克斯调用 ajax ty
  • 在 Chrome/Safari 中添加 html5 属性后 Ajax 表单中断

    分步说明 新建 Asp Net MVC2 项目 Model public class TestModel public int Property get set 家庭控制器 HandleError public class HomeCont
  • 如何从ajax调用php函数?

    我熟悉如何让ajax转到php页面并执行一系列操作然后返回json数据 但是 是否可以调用驻留在给定页面中的特定函数 基本上我想要的是减少项目中的文件数量 所以我可以把很多常用的函数放在一个页面中 然后只调用我现在想要的任何函数 对于 AJ
  • 如何将值传递到 selectOneMenu 中的监听器

    我有 2 个下拉菜单 类型和代码 如果值 A 或 B 或 C 我希望代码下拉列表根据类型下拉列表更改值 如何将 A 或 B 或 C 的值传递给侦听器 以便它可以理解和处理我的 List
  • 为什么 JSON 结果可以是布尔值而不是对象或数组?

    From JSON 网站 http json org JSON 建立在两种结构之上 名称 值对的集合 在各种语言中 这被实现为对象 记录 结构 字典 哈希表 键控列表或关联数组 值的有序列表 在大多数语言中 这被实现为数组 向量 列表或序列
  • Spring-roo REST JSON 控制器损坏日期字段

    我有一个以两种方式使用的数据实体 我在页面加载时用其中的一些数据填充表格 当您单击该列的一行时 我通过 AJAX 获取该项目的详细信息并将其显示在表单字段中 我在服务器端使用 Spring Roo 生成的 REST 端点 在客户端使用 Ba
  • 返回重定向作为对 Ajax(fetch、XHR 等)请求的响应

    如果浏览器收到对 ajax 请求的重定向响应 会发生什么 如果浏览器收到对 ajax 请求的重定向响应 会发生什么 如果服务器发送重定向 又名 302 响应加上 Location 标头 浏览器将自动遵循重定向 对此的回应second请求 假
  • 表单发布请求并存储收到的数据

    我有一个非常简单的表单 在提交时发出发布请求
  • jQuery Datatable:分页和过滤器显示不正确

    我不知道如何解决这个问题 尝试了一整天但没有成功修复分页 我正在使用 jQuery 数据表 并且为了显示我的大量数据 我正在使用服务器端 作为测试 仅调用表中的 10 行数据 然后在传递到表之前 我重组了里面的数据dataSrc 使用这个解
  • Xhr上传event.loaded问题

    opts xhr function var xhr new window XMLHttpRequest Upload progress xhr upload onprogress function e if e lengthComputab
  • 在 jQuery AJAX 成功中从 MySql 获取特定响应

    好吧 我有这个 ajax 代码 它将在 Success 块中返回 MySql 的结果 ajax type POST url index php success function data alert data My Query sql SE
  • Extjs 4.2:如何在 Ext.Ajax.Request POST 中正确发送参数

    我必须从 ExtJs 脚本执行 POST 才能从数据库中删除某些内容 Ext Ajax request url deleteRole html method POST headers Content Type text html waitT
  • 如何使用 php 发送服务器错误响应?

    一旦用户点击删除按钮我的 jQuery 脚本要求服务器删除所选项目 现在我想要我的php发送成功或错误响应的脚本 是否有可能触发错误回调万一该项目无法删除 Thanks 我的 jQuery 代码 ajax type post url myA
  • JSF - 在 ajax 调用上传递参数 - 这段代码有什么问题?

    当我进行 ajax 调用时 我需要将参数传递给 bean 我的豆子是这样的 ManagedBean RequestScoped public class Selector ManagedProperty value param page p
  • jQuery AJAX 调用 Java 方法

    使用 jQuery AJAX 我们可以调用特定的 JAVA 方法 例如从 Action 类 该 Java 方法返回的数据将用于填充一些 HTML 代码 请告诉我是否可以使用 jQuery 轻松完成此操作 就像在 DWR 中一样 此外 对于
  • JQuery 图像上传不适用于未来的活动

    我希望我的用户可以通过帖子上传图像 因此 每个回复表单都有一个上传表单 用户可以通过单击上传按钮上传图像 然后单击提交来提交帖子 现在我的上传表单可以上传第一个回复的图像 但第二个回复的上传不起作用 我的提交过程 Ajax 在 php 提交

随机推荐

  • Qt 打开本地文件夹,限定文件类型的两种方式

    需要打开本地文件夹的情况还挺多 比如File下面的open new save等功能 下面介绍两种打开本地文件夹的方式 第一种 QFileDialog getOpenFileName 函数 函数定义如下 QString QFileDialog
  • 树搜索:深度优先和广度优先

    在Android开发中 有时候会遇到多层级列表的显示 如下图 可用RecyclerView实现 其数据源的数据结构是一种树状结构 如下图 现在有两种方法来遍历这种数据结构 深度优先搜索 其过程简要来说是对每一个可能的分支路径深入到不能再深入
  • 基于springboot+vue民宿管理系统+数据库(附源码,说明文档)

    文章目录 开发环境 后端 前端 数据库 系统架构 管理员 用户用例 主要功能 用户功能模块 管理员功能模块 商家用户功能模块 前台首页功能模块 今天为大家带来的是 基于springboot vue民宿管理系统 开发环境 后端 开发语言 Ja
  • 理解线性回归(一)——回归的思想

    理解线性回归 一 回归的思想 1 经典的线性回归 之前介绍的LR回归和SVM算法本质上都和回归有写关联 尤其是LR回归算法 回归的目的是预测数值型的目标值 其核心部分和我们中小学时候学习到的线性拟合是一样的 就是说 假如我们能够建立了回归背
  • 刷脸支付三大优势让人回归万物本源

    3D人脸识别技术已实现检测人脸是否为活体 杜绝图片或视频破解 其高精度 高效率 高安全性催生刷脸支付 刷脸门禁 刷脸乘车 刷脸登机等应用落地 在5G AI引爆的万物互联未来 人回归智能万物的中心 脸成为无缝连接所有生活场景的重要途径 近期大
  • Python及pip安装与报错处理【pip永久换源】

    有帮助的话请点个赞吧 文章目录 安装新版本Python Linux系统 以Ubuntu16 04为例 Windows系统 Win10 pip换源 Linux系统 Windows系统 安装新版本Python Linux系统 以Ubuntu16
  • 微信小程序 引入字体图标 字体 使用base64解决字体请求问题

    在做公司的项目的时候 引入了奥森字体图标 控制台对这个url有报错提示 虽然字体显示正常 但还是想解决这个烦人的报错 试过加载目录中的fontawesome webfont ttf 静态资源但是加载不上 最后把ttf字体转换成base64格
  • 「司库立方」获数亿元C轮融资,持续聚焦司库赛道,引领行业变革

    今天 头部司库玩家 司库立方 宣布成功获得数亿元C轮融资 本轮融资由云晖资本领投 中信建投资本 贵阳创投 神骐资本 58产业基金 跟投 老股东信天创投持续追投 本轮融资资金主要用于迭代产品 加强市场推广 提升客户服务和体验 进一步扩大公司在
  • 史上最简单的SpringCloud教程

    在微服务架构中 根据业务来拆分成一个个的服务 服务与服务之间可以相互调用 RPC 在Spring Cloud可以用RestTemplate Ribbon和Feign来调用 为了保证其高可用 单个服务通常会集群部署 由于网络原因或者自身的原因
  • CAD平台开发和基于此平台的二次开发(数据库部分)

    CAD平台开发分为两大部分 一是底层开发 即CAD数据库的开发 底层类和结构 二是上层开发 界面和功能实现 本人目前在一个开发CAD平台的公司 工作 目前主要接触的是上层开发这一部分 没有底层开发的部分的代码 只有编号的底层数据库的DLL
  • MIPI DSI AP介绍(一)FPGA

    MIPI DSI AP介绍 一 FPGA MIPI DSI Mobile Industry Processor Interface Display Serial Interface 是一种用于移动设备显示的串行接口协议 它的主要特点是高带宽
  • 深入浅出PID控制算法(二)——PID算法离散化和增量式PID算法原理及Matlab仿真

    文章目录 1 PID算法离散化 1 1 位置式PID算法 1 2 增量式PID算法 2 PID编程实现及控制仿真 3 PID调参过程 3 1 确定比例系数Kp 3 2 确定积分时间常数Ti 3 3 确定微分时间常数Td 3 4 系统空载 带
  • C++ 修改/覆盖指定位置的文件内容或者从某个位置开始截断文件

    最新在进行文件方面的功能开发 遇到个这样的问题 1 文件读到中间 然后进行一些修改 2 然后将文件从修改后的地方截断 本以为这是个简单的操作 却花费了好大的功夫 网上并没有这样的例子 一通尝试 现在终于圆满解决了 特地记录一下 方便后来人
  • Linux 系统告警报“ inode”空间不足引起数据库启动失败

    启动数据库报错 错误如下 SQL gt startup nomount pfile oracle admin ecis ecis ora1 ORA 27154 post wait create failed ORA 27300 OS sys
  • IPP简介及windows下安装说明

    IPP简介及windows下安装说明 专栏目录 说明 一 IPP简介 二 windows7和windows10下安装说明 1 windows10下安装 1 oneAPI集成安装 2 单独下载安装 2 windows7安装 1 2021之前版
  • JPEG编码学习

    常见有损的图像格式有 JPEG WebP 常见无损的图像格式有 PNG BMP GIF JPEG编码 JPEG编码流程 例程GitHub地址 python jpeg encoder 另一个demo 也可以试一试 Image Compress
  • pythone二级题库 + 刷题软件 (超详细解析,看完必过) 第十一套

    刷题软件 模拟python二级考试 操作题刷题软件 1 计算机完成一条指令所花费的时间称为一个 A 指令周期 B 存取周期 C 执行速度 D 执行时序 一般把计算机完成一条指令所花费的时间统称为一个指令周期 指令周期越短 指令执行就越快 2
  • 机器学习——深度学习(Deep Learning)

    Deep Learning是机器学习中一个非常接近AI的领域 其动机在于建立 模拟人脑进行分析学习的神经网络 最近研究了机器学习中一些深度学习的相关知识 本文给出一些很有用的资料和心得 Key Words 有监督学习与无监督学习 分类 回归
  • minikube实践篇(Deprecated!!!)

    1 安装minikube 在油管上观看了TechWorld with Nana的频道 发现minikube对开发人员友好 在本地也不用开集群了 其实就像当于是开了一个虚拟机 我准备直接在vmware中安装 但是安装minikube并不是那么
  • AJAX学习笔记4解决乱码问题

    AJAX学习笔记3练习 biubiubiu0706的博客 CSDN博客 在Tomcat10来说 AJAX GET或者POST接收响应都不存在乱码问题 对于Tomcat9来说 前端测试代码