java原生的ajax怎么写_原生Ajax代码实现

Ajax

Asynchronous JavaScript And XML

异步:

指一段程序执行时不会阻塞其他程序执行,其表现形式为程序的执行顺序不依赖程序本身的书写顺序 ,相反的则为同步,

自己理解的就是类似百度的搜索框输入内容时的提示相关的内容功能,ajax可以在不刷新整体页面的情况下,进行从后台取值,并返回数据到页面,其优势在于不阻塞程序的运行,从而提升整体上的执行效率。

wDR3ezc0j+5egAAAABJRU5ErkJgggA=

现实生活中,打电话是同步,发短信是异步

XMLHttpRequest

浏览器内置对象,用于在后台与服务器通信,由此我们可以对页面进行部分更新,更不进行刷新整个页面的操作。

当以post方式请求时候,请求头中设置了“Content-type”,“application/x-www-form-urlencoded”,get方式请求就不需要,

api详解:

xhr.open(); 发起请求,可以是get或者post方式

xhr.setRequestHeader(); 设置请求头

xhr.send(); 发送请求主体,get方式使用null作为主体

xhr.onreadystatechange(){} 监听响应状态

xhr.readyState = 0:UNSENT open尚未启用

xhr.readyState = 1:OPENED open 已调用

xhr.readyState = 2:headers_received 接收到头消息

xhr.readyState = 3:loading 接收到主体

xhr.readyState = 4:done 响应完成

xhr.status 表示响应码 200 为正常

xhr.statusText 表示响应信息

xhr.getAllResponseHeaders() 获得全部响应头信息

xhr.responseText:响应主体

//浏览器兼容处理 undefined未定义的 因为只有ie浏览器中存在这个ActiveXObject对象

if(typeof ActiveXObject !=='undefined'){

alert("ie");

}else{

alert("ii");

}

IE浏览器创建ajax对象:

var xhr = new ActiveXObject("Microsoft.XMLHTTP");//最原始的方式 --

var xhr = new ActiveXObject("Msxm12.XMLHTTP");

var xhr = new ActiveXObject("Msxm12.XMLHTTP.3.0");

var xhr = new ActiveXObject("Msxm12.XMLHTTP.5.0");

var xhr = new ActiveXObject("Msxm12.XMLHTTP.6.0");//维护的最高版本

主流浏览器创建对象(Firefix火狐,Chrome谷歌,safari新浪,opera北欧浏览器,IE7以上)

var xhr = new XMLHttpRequest();

对服务器发起请求:

浏览器方式请求:打开浏览器,输入地址栏,回车发起请求

常用状态码及其含义: 404 没找到页面(not found) 403 禁止访问(forbidden) 500 内部服务器出错(internal service error) 200 一切正常(ok) 304 没有被修改(not modified)(服务器返回304状态,表示源文件没有被修改 )

浏览器与服务器建立连接 xhr.open(method, url, asynch); * 与服务器建立连接使用 * method:请求类型,类似 “GET”或”POST”的字符串。 * url:路径字符串,指向你所请求的服务器上的那个文件。请求路径 * asynch:表示请求是否要异步传输,默认值为true(异步)。

简单的小程序 是以 post请求来发送的消息:

functiondd(){//创建对象

varxhr= newXMLHttpRequest();//设置请求行,创建新的http请求

xhr.open("post","/dd/d");//设置请求头

xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");//设置请求主体,发送请求信息给服务器

xhr.send("a=6&b=9");//接受服务器响应

xhr.onreadystatechange= function(){if(xhr.readyState==4){if(xhr.status==200) {

alert(xhr.responseText);

}

}

}

}

下面是java程序

packagedd;importjava.io.IOException;importjava.io.PrintWriter;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjavax.servlet.annotation.WebServlet;/*by:wzq

time:2017年11月16日*/@WebServlet(name= "d", urlPatterns = { "/d"})public class Dd extendsHttpServlet {private static final long serialVersionUID = 1L;protected voiddoGet(HttpServletRequest request, HttpServletResponse response)throwsServletException, IOException {

String parameter= request.getParameter("a");

System.out.println(parameter);

PrintWriter writer=response.getWriter();

writer.print("dsdsdsdsdsdsdsd");

writer.flush();

}protected voiddoPost(HttpServletRequest request, HttpServletResponse response)throwsServletException, IOException {this.doGet(request, response);

}

}

下面是get请求方法是的ajax代码。

functiondd(){//创建对象

varxhr= newXMLHttpRequest();//设置请求行,创建新的http请求

xhr.open("GET","/dd/d?a=6666",true);

xhr.setRequestHeader("Content-type","application/json; charset=utf-8");//设置请求主体,发送请求信息给服务器

xhr.send();//接受服务器响应

xhr.onreadystatechange= function(){if(xhr.readyState==4){if(xhr.status==200) {

alert(xhr.responseText);

}

}

}

}

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

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

相关文章

人工智能阅读理解是如何打破人类记录? 解读阿里iDST SLQA 技术

来源:网络大数据概要:微软和阿里巴巴开发的人工智能在斯坦福阅读理解测试中并列第一,在答案的精确匹配度上比人类高出几个基点。微软和阿里巴巴开发的人工智能在斯坦福阅读理解测试中并列第一,在答案的精确匹配度上比人类高出几个…

Java测试驱动开发--总结

思维导图:https://www.processon.com/view/link/60d307415653bb049a437111

看到记忆的印迹:神经科学家们如何定位、唤醒甚至偷换记忆

来源:澎湃新闻概要:借助新兴的脑部成像技术,神经科学家们得以“看到”与特定记忆相关的特定神经细胞,了解记忆形成和唤起的规律,并成功地重新激活记忆通路。《神探夏洛克》中福尔摩斯在停尸间的初次登场,给…

卓有成效的管理者--总结

思维导图:https://www.processon.com/view/link/60d6f723e401fd50b99628ad

人工合成生命的最新进展比AI还快

合成酵母的科学杂志当期封面来源:通信和互联网的扫地僧2016年以来,以AlphaGo为标志的人工智能技术进入了发展的快车道,成为了民众热议的话题。2017年12月27日,华大基因董事长汪建在深商大会上表示,未来的5-10年&#x…

加利福尼亚大学提出从「因果革命」的七大成就中为「机器学习」寻求良好的模型指导

原文来源:arxiv作者:Judea Pearl「雷克世界」编译:嗯~是阿童木呀可以这样说,目前的机器学习系统几乎完全是以统计模式或无模型模式运行的,这对于其功率和性能来说存在着严格的理论限制。这样的系统不能引发干预和反思&…

被讨厌的勇气--总结

思维导图:https://www.processon.com/view/link/60d6fc2c7d9c087f54753b90

创建一个动物类 java_使用java面向对象创建动物类并输出动物信息

题目:使用java面向对象创建动物类并输出动物信息gitup下载地址:https://github.com/benxiaohai8888/Javase/blob/master/Animal.java代码:import java.util.Scanner;public class Animal{private double weight;//体重private int leg;//腿的…

java执行字节码的语句_Java字节码指令

Java虚拟机的指令由一个字节长度的、代表着某种特定操作含义的数字(操作码,Opcode)以及跟随其后的零至多个代表此操作所需的参数(操作数,Operands)构成。即:Java指令 操作码 操作数。由于Java虚拟机采用面向操作数栈而不是寄存器的架构&…

3分钟了解今日头条推荐算法原理(附视频+PPT)

来源:大数据文摘概要:2018年1月,今日头条资深算法架构师曹欢欢博士,终于首次公开今日头条的算法原理,以期推动整个行业问诊算法、建言算法,希望消除各界对算法的误解。今日头条的内容分发算法一直颇神秘低调…

高效休息法--总结

思维导图:https://www.processon.com/view/link/60d6fcaf1e08532a43bea653

执行-技术人的管理之路--总结

思维导图:https://www.processon.com/view/link/5f0a6983e401fd0c8fffa75b

java进度条动画_Android自定义控件之圆形进度条动画

本文实例为大家分享了Android实现圆形进度条动画的具体代码,供大家参考,具体内容如下首先贴上图片:额,感觉还行吧,就是进度条的颜色丑了点,不过咱是程序员,不是美工,配色这种问题当然…

人脸识别必读的N篇文章

来源:机器视觉概要:人脸检测/跟踪的目的是在图像/视频中找到各个人脸所在的位置和大小;对于跟踪而言,还需要确定帧间不同人脸间的对应关系。一 、人脸检测/跟踪人脸检测/跟踪的目的是在图像/视频中找到各个人脸所在的位置和大小&a…

所谓高情商就是会说话--总结

思维导图:https://www.processon.com/view/link/60d6fe741e08532a43bea811

美国12大科技公司如何参与自动驾驶?

来源:腾讯科技概要:无人驾驶汽车的潜力已经逐步显现,这一点,从本周在拉斯维加斯举行的国际消费电子展(CES)就可以看出端倪。无人驾驶汽车的潜力已经逐步显现,这一点,从本周在拉斯维加…

java web响应式框架_Web开发的十佳HTML5响应式框架

HTML5框架是一类有助于快速轻松创建响应式网站的程序包。这些HTML5框架有着能减轻编程任务和重复代码负担的神奇功能。关于HTML5的框架种类繁多,并且很瘦欢迎,因为它能允许开发人员花费更少的时间和精力去创建一个令人惊艳的网站。在本文中,我…

开放-封闭原则(OCP)

开放-封闭原则(The Open-Close Principle) 软件实体(类、模块、函数等)应该是可以扩展的,但是不可以修改的。 两个特征 1、对于扩展是开放的(Open for extension); 2、对于更改是…

风向2018 | AI 突围

来源:36氪概要:回到战场,考验各家公司CEO和谋士的时刻,已经到来。问:2017年AI行业最大的进展是什么?答:创业公司的估值。高估值,曾将AI初创公司带上高光的创投舞台,也正将…

php return 值_php return的用法是什么

php return的用法:1、通过“return expression”语法返回一个表达式结果;2、使用“return(expr)”语法返回函数表达式;3、直接使用return返回值即可。本文操作环境:Windows7系统、PHP7.1、Dell G3电脑。基本用法:a)、r…