当前位置: 首页 > news >正文

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

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=200if (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 {@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//设置编码req.setCharacterEncoding("utf-8");resp.setContentType("text/html;charset=utf-8");//后端获取get方式的参数就用getParameterString 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=200if (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>

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • C++11深度剖析
  • OpenStack Yoga版安装笔记(十一)nova安装(上)
  • maven高版本无法下载jar包
  • 配置nacos显示nacos registry register finished但是nacos页面看不到服务
  • 环境搭建:Redis 概述、安装与配置指南(含windows、macOS、Linux)
  • 申瓯通信在线录音管理系统Thinkphp远程代码执行漏洞
  • 《python语言程序设计》2018第6章第29题 财务应用程序:信用卡号的合法性 16位可以识别,不识别15位
  • OpenCV||超详细的几何变换
  • C#初级——方法/函数(ref 和 out关键字)(引用传参和输出传参)
  • Linux|最佳命令行下载加速器
  • 【C语言】分支与循环(循环篇)——结尾猜数字游戏实现
  • zlm-openRtpServer使用
  • 全面解锁:通过JSP和Ajax实现钉钉签到数据展示及部门筛选功能
  • TypeScript 迭代器和生成器详解
  • Python venv 虚拟环境
  • ➹使用webpack配置多页面应用(MPA)
  • 07.Android之多媒体问题
  • 230. Kth Smallest Element in a BST
  • Django 博客开发教程 16 - 统计文章阅读量
  • NSTimer学习笔记
  • python 学习笔记 - Queue Pipes,进程间通讯
  • Tornado学习笔记(1)
  • Twitter赢在开放,三年创造奇迹
  • Vue 动态创建 component
  • vue-cli在webpack的配置文件探究
  • XML已死 ?
  • 大快搜索数据爬虫技术实例安装教学篇
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 如何借助 NoSQL 提高 JPA 应用性能
  • 异步
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • ​​​​​​​​​​​​​​Γ函数
  • #define,static,const,三种常量的区别
  • #pragam once 和 #ifndef 预编译头
  • #pragma pack(1)
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (MATLAB)第五章-矩阵运算
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (Spark3.2.0)Spark SQL 初探: 使用大数据分析2000万KF数据
  • (动手学习深度学习)第13章 计算机视觉---微调
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (十八)用JAVA编写MP3解码器——迷你播放器
  • (四)模仿学习-完成后台管理页面查询
  • (转)视频码率,帧率和分辨率的联系与区别
  • *Algs4-1.5.25随机网格的倍率测试-(未读懂题)
  • .net core 6 redis操作类
  • .NET core 自定义过滤器 Filter 实现webapi RestFul 统一接口数据返回格式
  • .NET WebClient 类下载部分文件会错误?可能是解压缩的锅
  • .NET/C# 使用反射调用含 ref 或 out 参数的方法
  • .NET教程 - 字符串 编码 正则表达式(String Encoding Regular Express)
  • .NET中统一的存储过程调用方法(收藏)
  • .skip() 和 .only() 的使用
  • @angular/cli项目构建--Dynamic.Form
  • @RequestMapping 的作用是什么?