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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pyinstall 使用「建议收藏」

    pyinstall 使用「建议收藏」https://blog.csdn.net/HW140701/article/details/93494869

    2025年8月11日
    2
  • mac. idea2021.5 激活码(最新序列号破解)

    mac. idea2021.5 激活码(最新序列号破解),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
    50
  • 查看服务器硬件配置信息命令_服务器硬件参数

    查看服务器硬件配置信息命令_服务器硬件参数本次由于需要搭建一套环境,但是所需硬件配置不足,需要进行统计采购。那么就需要得知服务器现有配置,所以这次会介绍些常用的命令和工具来查询硬件信息。其实也可以通过像DELL厂商的IDRAC控制台来获取这些

    2022年8月2日
    12
  • 文件服务器审计—首选Netwrix文件服务器审计工具

    文件服务器审计—首选Netwrix文件服务器审计工具文件服务器审计—首选Netwrix文件服务器审计工具为了遵守外部法规和确保业务连续性,企业需要审核他们的文件服务器,以确保防止敏感数据泄漏和未经授权的修改。看到论坛很多类似的讨论,而且微软自带的审计策略往往不能满足IT的所有需求。常常通过第三方的软件来实现文件服务器的审计功能。NetwrixWindows文件服务器工具有免费版本的变更通知工具以及收费版本的审计工具。可以自…

    2022年6月4日
    61
  • 小明の魔法计划——最长上升子序列[通俗易懂]

    小明の魔法计划——最长上升子序列[通俗易懂]Think:1知识点:最长上升子序列2反思:知识体系需要加深拓展SDUT题目链接小明の魔法计划TimeLimit:1000MSMemoryLimit:65536KBProblemDescription在一个遥远的数学魔法国度,小明在学习一个魔法,这个魔法需要一些施法材料,所幸的是施法材料已经准备好了,下一步就是建立魔法阵了,每一个施法材料都有一个特性值,表示为一个大于1小

    2022年6月4日
    34
  • android 安装p12证书,如何在Android中使用p12证书(客户端证书)

    android 安装p12证书,如何在Android中使用p12证书(客户端证书)我试图在android中使用客户端证书。我得到了一个.p12文件,我想用它来对服务器进行身份验证。如何在Android中使用p12证书(客户端证书)我正在使用portecle将.p12文件转换为.bks文件,但我似乎没有得到它的工作。下面的代码:packagecom.pa1406.SECURE;importjava.io.InputStream;importjava.security.Ke…

    2022年6月26日
    92

发表回复

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

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