AJAX学习笔记1发送Get请求

2023-11-10

传统请求有哪些方式,及缺点

传统请求有哪些?

1.直接在浏览器地址栏上输入URL.

2.点击超连接.

<a href="/上下文/请求地址">超链接请求</a>  ---->相对路径

<a href="http://www.baidu.com">超链接请求</a>  ---->绝对路径

3.提交form表单

<form action="/上下文/请求地址" method="post">

4.使用JS代码

window.open("url")

document.localtion.href=""

window.localtion.href=""

新建项目举例

next----next

设置字符集

添加框架支持

关于为什么项目启动会自动访问index的说明

Servlet中WebApp欢迎页面配置_biubiubiu0706的博客-CSDN博客

 引入依赖

index.html

 

配置Tomcat

传统请求的缺点,每次请求都会将整个页面刷新

AJAX可以做到局部刷新

AJAX通过浏览器上一个对象XMLHttpRequest  可以理解为一个线程,

通过XMLHttpRequest(浏览器内置对象)向服务器发送请求做到局部更新

AJAX可以在浏览器当中发送异步请求.请求A和请求B是异步的.谁也不需要等谁.类似多线程并发

响应回来的数据:普通文本,XML字符串,JSON数据

学习AJAX需要看得懂下面JS代码

发送第一个AJAX请求

AJAX   GET请求

添加依赖

配置Tomcat

测试

因为后端没有写该接口

最核心部分就是框中的回调函数中的

再次测试

编写后端代码

测试

后端出错

测试

后端向浏览器响应文本数据

其实该用responseText

测试   完美

其实该用responseText

测试

给点颜色看看

其实该用responseText

测试

再做个练习  熟练发送AJAX   GET请求

 

下面来改进一下AJAX请求的写法    下面这样也可以  不知道为什么

理论来说this已经没效果了.但是测试也可以

正确的写法应该是如下   ajax3这种方式只是为了扩展下思路

AJAX GET请求   提交数据给服务器    以ajax2为例

get请求提交数据是在请求行上

格式比如:url?name=xxx&password=xxx  是HTTP协议中规定的

测试

注意请求地址并没有变化,参数也没有再url上

看下后端有没有接收到

但是现在 参数在程序里是写死的   改一下代码

测试  输出到前端页面没有乱码

  

控制台乱码,应该是

改成了GBK试试  和自己计算机字符集原因

  • 对于低版本的IE浏览器来说,AJAX的get请求可能会走缓存。存在缓存问题。对于现代的浏览器来说,大部分浏览器都已经不存在AJAX get缓存问题了。

  • 什么是AJAX GET请求缓存问题呢?

    • 在HTTP协议中是这样规定get请求的:get请求会被缓存起来。

    • 发送AJAX GET请求时,在同一个浏览器上,前后发送的AJAX请求路径一样的话,对于低版本的IE来说,第二次的AJAX GET请求会走缓存,不走服务器。

  • POST请求在HTTP协议中规定的是:POST请求不会被浏览器缓存。

  • GET请求缓存的优缺点:

    • 优点:直接从浏览器缓存中获取资源,不需要从服务器上重新加载资源,速度较快,用户体验好。

    • 缺点:无法实时获取最新的服务器资源。

  • 浏览器什么时候会走缓存?

    • 第一:是一个GET请求

    • 第二:请求路径已经被浏览器缓存过了。第二次发送请求的时候,这个路径没有变化,会走浏览器缓存。

  • 如果是低版本的IE浏览器,怎么解决AJAX GET请求的缓存问题呢?

    • 可以在请求路径url后面添加一个时间戳,这个时间戳是随时变化的。所以每一次发送的请求路径都是不一样的,这样就不会走浏览器的缓存问题了。

    • 可以采用时间戳:"url?t=" + new Date().getTime()

    • 或者可以通过随机数:"url?t=" + Math.random()

    • 也可以随机数+时间戳....

如果真遇到了  解决方式

或者随机数加时间戳     随机数:Math.random()

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

AJAX学习笔记1发送Get请求 的相关文章

  • 是否可以在ajax get请求中获取页面的一部分?

    我知道我们可以在向服务器发出 GET 请求时获取整个页面 但是如果我只对该页面上的一个特定 div 感兴趣 或者更准确地说对其内容感兴趣 该怎么办 这里唯一的选择是获取整个页面 例如使用 jquery find 从中获取 div 内容吗 或
  • jquery/javascript 处理后移至命名锚点

    在进行一些 jquery 处理后 如何将焦点移动到同一页面上的不同部分 名为锚点 函数 ABC 进行一些处理 然后 我需要将用户移动到同一页面上的某个部分 页面下方 您可以使用下面的代码将屏幕滚动到 div 只需更改选择器以匹配您要滚动到的
  • 尝试在本地主机上测试我的 php 文件,但只出现一个空白页面,没有错误消息

    我正在运行 Apache 和 mySQL 因为我检查了所有日志 似乎没有任何错误 我的目标是每当有新的表单条目时就向特定地址发送电子邮件 我对后端和 PHP 缺乏经验 所以我不太确定哪里出了问题 任何帮助将不胜感激
  • jQuery异步ajax查询和返回值问题(范围、闭包)

    由于异步查询和变量范围问题 代码无法正常工作 我不明白如何解决这个问题 使用 async false 更改为 ajax 方法 不是一个选项 我知道闭包 但我如何在这里实现它 不知道 我已经在这里看到了有关 js 中的闭包和 jQuery 异
  • 常规请求期间 Django AJAX 请求未通过

    我有一个带有登录网页的 Django 站点 当提交页面上的登录表单时 它会执行登录视图 该视图会在其中运行一个需要很长时间处理 30秒左右 的函数 因此 为了在登录期间向客户端显示进度 一旦提交表单 登录页面上的 JS 函数就会开始向服务器
  • 命令运行时从 shell_exec 命令获取输出

    我正在编写一个 PHP 脚本网页 该网页旨在接受先前上传到服务器的 JFFS2 图像的文件名 然后 该脚本将使用映像重新刷新服务器上的分区 并输出结果 我一直在用这个 tmp shell exec update flash v filena
  • 如何从 jquery .load 获取 php 响应

    例如我给出另一个代码 这是我的 some3 php 代码 第一个文件
  • 使用 f:ajax 渲染多个组件

    错误的代码是
  • php循环中的ajax在按钮单击时执行操作

    所以我有一个 php 循环 我使用 jquery 滑动切换来隐藏 显示带有 sql 结果的表 目前该表仅使用 php 加载 但由于发生了很多事情 导致了一些加载问题 我需要使用滑动切换 btn 来触发 ajax 因此它仅在按下按钮时请求当前
  • 通过ajax POST提交两次表单

    插入到mysql using php通过文件调用AJAX 前insert语句php代码执行select查询到查找重复记录并继续insert statement Issue 从ajax调用php文件时 它执行了两次并得到作为重复记录的响应 好
  • 如何使用重复的键动态生成 JSON 对象?

    我知道这听起来不可能 但我的老板告诉我 我必须使用 jQuery 通过 AJAX 后调用发送 JSON 并且必须具有重复的键 问题是 如果我写这样的东西 post someurl key1 value1 key2 value2 key2 v
  • 在 ASP.NET 中使用 AjaxControlToolkit 的异步 AJAXFileUpload 控件返回数据

    我正在使用上面的控件 注意它是 ASP NET 控件 我似乎看到很多人使用用 javascript 编写的类似名称的控件 来允许使用进度条 拖放操作来上传多个文件 该部分一切正常 但我需要随文件返回两条数据 具体来说 用户从两个文本框中输入
  • SAPUI5 等待延迟对象 // 等待 .done() 函数

    我知道有几个线程对此进行讨论 但我认为在 SAPUI5 上下文中没有线程回答有关 SAPUI5 中的延迟 同步调用的一般主题 在我的控制器中我得到 test function var dfd Deferred var sServiceUrl
  • AJAX 发送数据到 Node.js 服务器

    我尝试使用 AJAX 将数据发送到 Node js 服务器 但不断遇到同样的问题 即接收问题 这是客户端 JavaScript AJAX 代码 var objects function return new XMLHttpRequest f
  • 如何使用 AJAX/jQuery 显示打印内容?

    所以我试图理解整个 AJAX jQuery 的事情 现在 当我单独运行这个 PHP 脚本时 我必须等待并观察轮子旋转 直到循环完成然后加载 while row mysql fetch array res postcode to storm
  • FormData 中的 Blob 为 null

    我正在尝试通过远程 API 通过 ajax 在 android 中发送创建的照片 我在用着相机图片背景 https github com an rahulpandey cordova plugin camerapicturebackgrou
  • JS 库请求的常见 HTTP 标头是什么?

    使用JavaScript 框架原型 http www prototypejs org 我注意到 Ajax 请求通过一个名为X Requested With 其他 JavaScript 库 如 jQuery dojo 和 YUI 是否会向其
  • 使用 AJAX 和 Jquery 自动完成功能填充表单数据

    我想使用自动完成所选项目来填写表单数据 我的自动完成工作正常 但我无法弄清楚如何通过从自动完成文本框中检索项目来填写表单数据 这是我的代码 HttpPost public JsonResult GetAutocomplete string
  • 以一定时间间隔连续重复运行 JavaScript 函数

    这是我的第一个问题 希望您尽快回答 我想要代码连续重复一个函数 我尝试了一些代码 但没有成功 我尝试了这段代码 我想在一段时间后重复这个功能 我努力了setInterval and setTimeout 但是 我还没有收到结果 这将重复该任
  • 如何使用 javascript/jquery/AJAX 调用 Django REST API?

    我想使用 Javascript jQuery AJAX 在前端调用 Django Rest API 请求方法是 POST 但当我看到 API 调用它的调用 OPTIONS 方法时 所以 我开始了解access control allow o

随机推荐

  • oracle 查询表空间所有表、及表所有的表空间

    查询表空间所有表 select table name from all tables where TABLESPACE NAME 表空间 表空间名字一定要大写 查询表所在的表空间 select from user tables where
  • Iframe postMessage 日志

    postMessage catcher 之前工作需要接入不同 iframe 需要使用 postMessage 来进行通信 本地开发还好可以方便打印相互通信的数据 就是线上有些麻烦 不好直接观察发送和接收的数据是怎么样的 所以写了个 chro
  • 设置Linux服务器登录密码过期时长

    设置Linux服务器登录密码过期时长 登录服务器时 提示登录密码过期 必须修改密码重新登录 You are required to change your password immediately password aged You mus
  • Python-Dataframe使用已知数据填补空值

    作为大气遥感的一员 研究的对象主要是排放栅格图像 因此本文主要针对栅格图像来对其NaN空值进行有选择的填补 在处理数据时遇到一个问题 当一个栅格图像只有很小一部分存在有用值 可能10000多个栅格区域只有300个有有效值 此背景下给一个假设
  • 动手篇

    简介 本文讲述如何在麒麟v10 SP2安装达梦8版本数据库 安装操作系统 麒麟v10 SP2 root 192 bin uname a Linux 192 168 220 110 4 19 90 24 4 v2101 ky10 x86 64
  • 消息不能及时回复,见谅

    由于公司网络原因 无法登陆具有上传功能的平台比如百度云 CSDN等 所以消息多半无法及时回复 见谅 博客及记录包括转载 摘录内容本人暂时在github上 内容如果涉及你的授权请及时与我联系 附github https github com
  • plsql Developer 设置 优化

    配置文件 PL SQL Developer 安装目录中的 params ini 文件 配置文件中的参数也是命令行参数 同时设置的话 命令行参数优先 这几个是可能会用的 nologon userid user password db inst
  • 版本号命名规范

    最近写文档被完虐 啊摔 老师不满意 还不好意思直接批评我 搞得自己很羞愧 所以我决定了要加强一下写作技能 首先从文件管理方面进行改进 首先就是版本号的管理规范 转自百度文库http wenku baidu com view 0f7d6b24
  • 小白学习kali linux day5(XSS漏洞学习)

    BEEF工具介绍 BEEF工具针对浏览器进行渗透测试 可以进行XSS漏洞攻击和利用 首先安装beef如下 首先安装beef xss工具 之后启动beef工具 绿色框框里为beef密码 可以为123 下图框框内的表示xss漏洞的钩子 ip应该
  • 126-----JS基础-----Location

    一 代码 很简单 看一下即可 注意 01 BOM html的代码在124节的Navigator中 只是一个简单的测试画面而已 自己随便弄一个测试也可以
  • 使用curl命令断点续传下载

    目录 使用curl命令断点续传下载 使用curl命令断点续传下载 curl exe C O
  • attachEvent报错原因

    document attachEvent is not a function出错的原因 报错原因有 1 利用attachEvent 直接在谷歌浏览器打开 我就是犯这种低级错误的 重要事情说三遍 attachEvent是IE浏览器独有的 at
  • IDEA2022.3设置自动生成类的serialVersionUID

    打开IDEA 点击File settings Editor Inspections 搜索seria 把这两个选上 然后点击apply ok 使用 选中你要生成的类 Alt Enter键自动提示 这个时候就有创建提示了
  • 网络TCP建立连接为什么需要三次握手而结束要四次

    举个打电话的例子 A 你好我是A 你听得到我在说话吗 B 听到了 我是B 你听到我在说话吗 A 嗯 听到了 建立连接 开始聊天 TCP连接的释放 四次挥手 数据传输完毕后 双方都可释放连接 最开始的时候 客户端和服务器都是处于ESTABLI
  • 牛客网多组输入问题怎么办?EOF使用方法

    需要云服务器等云产品来学习Linux的同学可以移步 gt 腾讯云 lt gt 阿里云 lt gt 华为云 lt 官网 轻量型云服务器低至112元 年 新用户首次下单享超低折扣 目录 1 什么是EOF 2 while getchar EOF
  • cocos2dx使用TiledMap模拟3D地图场景----斜45度2D地图的靠墙直线移动

    基于cocos2dx引擎的第三人称射击游戏 角色使用3D模型 地图采用2 5D 定制地图编辑系统抛开不谈 这里最大可能的挖掘现有工具TiledMap的潜力 完成超2 5D地图的实现 使用2D地图高度模拟3D场景 主要有两个要点需要解决 1
  • 面试官:Vue3有了解过吗?能说说跟Vue2的区别吗?

    一 Vue3介绍 关于vue3的重构背景 看看尤大怎么说 Vue 新版本的理念成型于 2018 年末 当时 Vue 2 的代码库已经有两岁半了 比起通用软件的生命周期来这好像也没那么久 但在这段时期 前端世界已经今昔非比了 在我们更新 和重
  • 用python画小花_用python的小海龟 Turtle 画一朵好看又有趣的小花-Go语言中文社区...

    1967年 Daniel G Bobrow Wally Feurzeig Seymour Papert 和 Cynthia Solomon 设计了LOGO编程语言 用一种直观的方式教孩子们学习编程 尽管该语言也可以解决复杂问题 但给大家留下
  • 关系代数内容学习(交、并、差、投影、选择、连接、重命名)

    关系代数 并 差 交 投影选择 笛卡尔积 连接 重命名 什么是关系代数 是一种抽象的数据查询语言 用对关系的运算来表达查询 关系运算符分类 传统的集合运算符 U N 把关系看成元组的集合 所有运算对象必须具有相同的结构 专门的关系运算符 选
  • AJAX学习笔记1发送Get请求

    传统请求有哪些方式 及缺点 传统请求有哪些 1 直接在浏览器地址栏上输入URL 2 点击超连接 a href 上下文 请求地址 超链接请求 a gt 相对路径 a href http www baidu com 超链接请求 a gt 绝对路