JAVAEE笔记:JavaEE笔记:第十九次课——AJAX

  • 概念ajax
  • 应用格式
    • 最基本的应用
    • GET 还是 POST?
    • 使用jQuery的ajax

概念ajax

AJAX需要的掌握的前置知识:
JavaScript Xmlhttp协议 服务器端Web开发语言(asp、jsp、php…)
AJAX(Asynchronous JavaScript and XML)异步js技术。

  • 其实是多种技术的综合,包括 Javascript, XHTML和 CSS DOM XML 和 XSTL XMLHttpRequest。
  • 其使用 XHTML和 CSS标准化呈现,使用 DOM 实现动态显示和交互,使用 XML和 XSTL进行数据交换与处理,使用
    XMLHttpRequest 对象进行异步数据读 Javascript 绑定和处理所有数据 。
  • 因为普通页面刷新一次必须向服务器请求全部的页面;如果使用异步请求,每次可以向服务器请求很少量的需要更新的数据,这样可以减轻服务器的负担,
  • 好处:可以在不刷新页面的情况和服务器通信

应用格式

最基本的应用

<%@ page contentType="text/html;charset=UTF-8" %>
<html>
<head><title>Get请求</title>
</head>
<body>
<button "ajaxonclick()">点击</button></body>
<script>function  ajaxonclick() {//1.创建异步对象var ajax = new XMLHttpRequest();//2.设置请求的参数url,第一个是请求的类型get/post,第二个是请求的地址ajax.open('get','http://localhost:8080/GetServlet');//3.发送请求ajax.send();//4.注册事件,状态一变就会调用ajax.onreadystatechange = function () {//请求成功if (ajax.readyState===4&&ajax.status===200) {alert(ajax.responseText);//输入相应的内容}}}
</script>
</html>

往servlet里面加输出语句测试,但是一旦使用ajax,重定向和转发都会失效

@WebServlet("/GetServlet")
public class GetServlet extends HttpServlet {protected void doPost(HttpServletRequest request , HttpServletResponse response) throws ServletException, IOException {}protected void doGet(HttpServletRequest request , HttpServletResponse response) throws ServletException, IOException {response.getWriter().print( "sssss" );}
}

GET 还是 POST?

与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。

然而,在以下情况中,请使用 POST 请求:

无法使用缓存文件(更新服务器上的文件或数据库)
向服务器发送大量数据(POST 没有数据量限制)
发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠

<%@ page contentType="text/html;charset=UTF-8" %>
<html>
<head><title>ajax的post请求</title>
</head>
<body>
<button "ajaxonclick()">点击</button></body>
<script>function  ajaxonclick() {//1.创建异步对象var xhr = new XMLHttpRequest();//2.设置请求的类型及urlxhr.open('post', 'http://localhost:8080/PostServlet');//post要格外得加上一句xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");//3.发送请求并设置参数xhr.send("name=post中文&age=18");//4.当请求状态发生改变时,执行相关函数xhr.onreadystatechange = function () {//readyState是请求状态if (xhr.readyState === 4 && xhr.status === 200) {alert(xhr.responseText);}}}</script>
</html>

使用jQuery的ajax

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><script type="text/javascript" src="/jquery.1.8.2.min.js"></script><title>动态生成表格</title>
</head>
<body><div style="text-align: center;"><input type="button" value="提交" "ajaxSubmit()"><div></div></div></body>
<script>function ajaxSubmit() {//获取输入框的值,然后放在ajax的参数里面var nameVal = $("input[name=name]").val();var phoneVal = $("input[name=phone]").val();//ajax提交数据var arr = [{"id":1,"name":"id1"},{"id":2,"name":"id2"}];//动态生成var table = "<table><tr><td>ID</td><td>Name</td></tr>"//iquery的遍历方法$.each(arr.function())$.each(arr,function (index) {table += "<tr><td>"+arr[index].id+"</td><td>"+arr[index].name+"</td></tr>"});//最后加上</table>table += "</table>";//添加到某个标签里面$("div").html(table);}</script>
</html>

引用
百度百科
国科学院

JavaEE笔记:第十九次课之AJAX相关推荐

  1. python数据挖掘学习笔记】十九.鸢尾花数据集可视化、线性回归、决策树花样分析

    #2018-04-05 16:57:26 April Thursday the 14 week, the 095 day SZ SSMR python数据挖掘学习笔记]十九.鸢尾花数据集可视化.线性回 ...

  2. 【CS231n】斯坦福大学李飞飞视觉识别课程笔记(十九):卷积神经网络笔记(下)

    [CS231n]斯坦福大学李飞飞视觉识别课程笔记 由官方授权的CS231n课程笔记翻译知乎专栏--智能单元,比较详细地翻译了课程笔记,我这里就是参考和总结. [CS231n]斯坦福大学李飞飞视觉识别课 ...

  3. 深度学习入门笔记(十九):卷积神经网络(二)

    欢迎关注WX公众号:[程序员管小亮] 专栏--深度学习入门笔记 声明 1)该文章整理自网上的大牛和机器学习专家无私奉献的资料,具体引用的资料请看参考文献. 2)本文仅供学术交流,非商用.所以每一部分具 ...

  4. Python学习笔记(十九)面向对象 - 继承

    Python学习笔记(十九)面向对象 - 继承 一.继承的概念 # 继承:子类继承父类的所有方法和属性# 1. 子类 class A(object):def __init__(self):self.n ...

  5. 风炫安全Web安全学习第三十九节课 反序列化漏洞基础知识

    风炫安全Web安全学习第三十九节课 反序列化漏洞基础知识 反序列化漏洞 0x01 序列化相关基础知识 0x01 01 序列化演示 序列化就是把本来不能直接存储的数据转换成可存储的数据,并且不会丢掉数据 ...

  6. 风炫安全web安全学习第二十九节课 CSRF防御措施

    风炫安全web安全学习第二十九节课 CSRF防御措施 CSRF防御措施 增加token验证 对关键操作增加token验证,token值必须随机,每次都不一样 关于安全的会话管理(SESSION) 不要 ...

  7. 2018-06-30 第十九次课 课后笔记

    第十九课预习任务 11.25 配置防盗链 11.26 访问控制Directory 11.27 访问控制FilesMatch 11.28 限定某个目录禁止解析php 11.29 限制user_agent ...

  8. 【Visual C++】游戏开发笔记三十九 浅墨DirectX教程之七 他山之石:几种几何体的快捷绘制法

    本篇文章里,我们对Direct3D之中几种几何体的简洁绘制方法进行了详细的剖析,最后依旧是提供文章配套的详细注释的demo源代码的欣赏,并在文章末尾提供了源代码下载.(这标题有些歧义的,这个几种是修饰 ...

  9. JSP学习笔记(四十九):抛弃POI,使用iText生成Word文档

    POI操作excel的确很优秀,操作word的功能却不敢令人恭维.我们可以利用iText生成rtf文档,扩展名使用doc即可. 使用iText生成rtf,除了iText的包外,还需要额外的一个支持rt ...

  10. 《Linux内核设计与实现》读书笔记(十九)- 可移植性

    linux内核的移植性非常好, 目前的内核也支持非常多的体系结构(有20多个). 但是刚开始时, linux也只支持 intel i386 架构, 从 v1.2版开始支持 Digital Alpha, ...

最新文章

  1. [转载] linux、Solaris下xdmcp远程桌面服务
  2. python基于Django框架编译报错“django.core.exceptions.ImproperlyConfigured”的解决办法?...
  3. Android Screen Monitor抓取模拟器与真机界面
  4. python将图片转化为字符图
  5. CADisplayLink的简单使用
  6. 用Python画中国地图(二)
  7. 跟繁琐的命令行说拜拜!Gerapy分布式爬虫管理框架来袭!
  8. 天锐绿盾防泄密软件6.0新版本功能已优化!!!
  9. RPM包安装卸载命令
  10. 30系显卡安装tensorflow-gpu1.15
  11. HDCTF-2nd复盘
  12. 农信银支付清算系统题库_[多选] 农信银支付清算系统中()业务只在工作日运行。...
  13. 阶跃型多模光纤与渐变型多模光纤有何区别?
  14. Learning with Noisy Correspondence for Cross-modal Matching 文献翻译 代码简析
  15. 微信小程序 首行缩进 text 标签 text-indent 不起作用
  16. java之集合Collection之List接口总结
  17. IFrame与Frame分析
  18. 区块链带来第四次技术革命 融入生产大幅提高企业收入
  19. php旋转图片,php 将图片旋转90度
  20. 四级英语图表作文真题计算机,英语四级图表作文写作技巧

热门文章

  1. 免费下载收费音乐教程,亲测有效
  2. unity 自定义渲染管线
  3. nodejs下载与安装
  4. 三款免费好用的Gif录屏神器
  5. mysql8.0重置密码
  6. 多米诺喷码机维修大全之----缺字、字体不成形、字体跑点以及歪
  7. 训练集和测试集样本分布一致性的判断方法
  8. c语言void调用不可作为,C语言的选择题.pdf
  9. ADS入门,使用ADS创建和仿真一个简单的线路
  10. PHP读取Excel数据