java实现ajax_Ajax&Java

java实现ajax_Ajax&JavaAJAX即“AsynchronousJavascriptAndXML”(异步JavaScript和XML)是一种基于浏览器的XMLHttpRequest对象实现的创建交互式网页应用的网页开发技术。用JS创建XMLHttpRequest对象并调用其方法实现基本的Ajax请求:xmlhttp=newXMLHttpRequest();//创建XMLHttpRequest对象…

大家好,又见面了,我是你们的朋友全栈君。

AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML)

是一种基于浏览器的XMLHttpRequest对象实现的创建交互式网页应用的网页开发技术。

用JS创建XMLHttpRequest对象并调用其方法实现基本的Ajax请求:

xmlhttp = new XMLHttpRequest(); //创建XMLHttpRequest对象

xmlhttp.onreadystatechange = f; //设置请求完成后的回调函数

xmlhttp.open(“GET”, url, true); //打开指定的url

xmlhttp.send(); //发送请求

这发送的是一个GET请求,如果要发送POST请求要记得设置请求投(GET请求数据可以通过url附加,POST请求可以发送时附加)

xmlhttp = new XMLHttpRequest(); //创建XMLHttpRequest对象

xmlhttp.onreadystatechange = f; //设置请求完成后的回调函数

xmlhttp.open(“POST”, url, true); //打开指定的url

xmlhttp.setRequestHeader(“Content-type”, “application/x-www-form-urlencoded”) //设置请求头

xmlhttp.send(data); //发送请求,并附加数据

注意:回调函数务必在发送请求前设置

回调函数的内容:

if (xmlhttp.readyState == 4) {

if (xmlhttp.status == 200) {

var data = xmlhttp.responseText;

var test = document.getElementById(“test”);

test.innerHTML += data + “
“;

}

}

其中xmlhttp.readyState表示请求执行的状态(4表示请求完成),而xmlhttp.status表示http的响应返回状态码。

下面写一个小例子实现Ajax向后端请求数据:

服务端代码(Java实现)

@WebServlet(name = “AddServlet”, urlPatterns = “/AddServlet”)

public class AddServlet extends HttpServlet {

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

doGet(request, response);

}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

response.getWriter().write(“helloworld”);

}

}

客户端代码:

var xmlhttp;

function loadGetHttp(url, f) {

xmlhttp = new XMLHttpRequest(); //创建XMLHttpRequest对象

xmlhttp.onreadystatechange = f; //设置请求完成后的回调函数

xmlhttp.open(“GET”, url, true); //打开指定的url

xmlhttp.send(); //发送请求

}

function loadPostHttp(url, data, f) {

xmlhttp = new XMLHttpRequest(); //创建XMLHttpRequest对象

xmlhttp.onreadystatechange = f; //设置请求完成后的回调函数

xmlhttp.open(“POST”, url, true); //打开指定的url

xmlhttp.setRequestHeader(“Content-type”, “application/x-www-form-urlencoded”) //设置请求头

xmlhttp.send(data); //发送请求,并附加数据

}

function cfunc() {

if (xmlhttp.readyState == 4) {

if (xmlhttp.status == 200) {

var data = xmlhttp.responseText;

var test = document.getElementById(“test”);

test.innerHTML += data + “
“;

}

}

}

window.onload = function () {

var button = document.getElementById(“button”);

button.onclick = function () {

loadGetHttp(“AddServlet”, cfunc);

}

}

这里写了两个通用的函数loadGetHttp和loadPostHttp来实现请求的加载,这样在使用时只要传人对应的URL和回调函数即可。

这里只是简单的举例子,实际使用中会将数据打包成XML或JSON格式,也有很多方便的实现Ajax的类库(如Jquery、EXT.JS……)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/156366.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • (建议收藏)TCP协议灵魂之问,巩固你的网路底层基础

    (建议收藏)TCP协议灵魂之问,巩固你的网路底层基础

    2022年2月13日
  • splice方法的使用_assign方法

    splice方法的使用_assign方法splice方法常用于数组内指定元素删除,例:vardata=[1,2,3,4,5]data.splice(1,1)console.log(data)打印出来的值为[1,3,4,5]也可用于删除多个,例如:data.splice(1,2)打印值为[1,4,5]注释:splice(第一个值为从何处开始,第二个值为删除几个)第一个值为index下标,从0开始,删除数组内的第几个元素第二个值为删除几个元素,从第一个值定义的下标位置开始扩展:splice方法也可用于数据的增加,修改,例

    2022年9月24日
  • plsqldev8.0下载和注册码

    plsqldev8.0下载和注册码[b]关键词:PL/SQL,下载,plsqldev,注册码,plsqldev711,汉化文件[/b]PL/SQLDeveloper是一种集成的开发环境,专门用于开发、测试、调试和优化OraclePL/SQL存储程序单元,比如触发器等。PL/SQLDeveloper功能十分全面,大大缩短了程序员的开发周期。[url]http://www.kutoku.info/software…

    2022年4月25日
  • 世界一级行政区划图_世界行政区划图册

    世界一级行政区划图_世界行政区划图册序号 国家 省 城市 8168 波兰 下西里西亚省   8169 波兰 下西里西亚省 下布热格 8170 波兰 下西里西亚省 佩希采 8171 波兰 下西里西亚省 克沃兹科 8172 波兰 下西里西亚省 兹戈热莱茨 8173 波兰 下西里西亚省 兹沃托雷亚 8174 波兰 下西里西亚省 博莱斯瓦维茨 8175 波兰 下西里

    2022年9月29日
  • docker镜像导入导出_导出docker镜像

    docker镜像导入导出_导出docker镜像简介当服务器无法访问公网的时候,又要pull镜像,这个时候可以将其他服务上的镜像导出,然后再导入到要用的服务器。方法一:1.保存save-加载load格式:dockersaveIMAGE(镜像)使用dockerimages查看本机已有的镜像(也可以使用dockercommit命令把一个正在运行的容器保存为镜像),如:导出:格式:dockersaveimagesID>/存放位置/打包文件名.tardockersave42cdba9f1b08

    2022年9月5日
  • OAM协议详解_服务期限怎么填写

    OAM协议详解_服务期限怎么填写OAMPDU消息格式及定义OAMPDU消息的格式如下图6-8所示。各个字段的详细定义如下:a) 目的地址(DA):Slow_Protocols_Multicast地址,使用和编码规定见IEEE802.3-2005Annex43B;b) 源地址(SA):OAMPDU中的SA是独立的MAC地址,该地址与发送OAMPDU的端口相关联;c) Length/Type:OAMPDU采

    2022年10月23日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号