AJAX
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<script type="text/javascript">
/* 标准AJAX模板 */
//使用 false 作为判定条件,它表示还没有创建 XMLHttpRequest 对象
var http_request=false;
//创建XMLHttpRequest对象方法
function send_request(){
http_request=false;
//火狐
if(window.XMLHttpRequest){
http_request=new XMLHttpRequest();
if(http_request.overrideMimeType){
http_request.overrideMimeType('text/xml');
}
}else if(window.ActiveXObject){//IE
try{
http_request=new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
http_request=new ActiveXObject("Microsoft.XMLHTTP");
}catch(e2){}
}
}

if(!http_request){//检查 request 是否仍然为 false(如果一切顺利就不会是 false)
window.alert("Err Create XMLHttpRequest!");
}

}

//与服务器交互
function sendReg(url)
{
//创建AJAX引擎
send_request();
//设定回调函数
//服务器响应完毕以后会自动调用回调函数一次
http_request.onreadystatechange = requestReg;
//与服务器连接
//1.提交方式(get/post)
//2.提交路径(url)
//3.是否异步
http_request.open("get",url,true);
//使用get方法不缓存
http_request.setRequestHeader("If-Modified-Since","0");
//提交请求
//get null
http_request.send(null);
}

//事件函数
function test()
{
//获得文本框的数据
var text = document.getElementById("text").value;
//get
//定义当前访问服务器URL
var url = "reg?text=" + text;
//使用UTF-8的编码将字符串进行解码
url = encodeURI(url);
//与服务器交互
sendReg(url);
}
//定义回调函数
function requestReg()
{
//判断就绪状态
if(http_request.readyState == 4)
{
//判断响应状态
if(http_request.status == 200)
{
//获得服务器响应的数据
var res = http_request.responseText;
//注意这里是通过在servlet中用out.println("****");所传输的数据,你也可以用XML的格式来发送,那就为var res = http_request.responseXML;然后可以使用res.getElementsByTagName等DOM的解析方法来解析;这个可以到网上查到相关资料

//alert(res);
if(res == "true")
{
document.getElementById("result").innerHTML = "<font color='red'>此用户名已经被注册了</font>";
document.getElementById("submit").disabled = true;
}
else
{
document.getElementById("result").innerHTML = "<font color='blue'>此用户名没有被注册</font>";
document.getElementById("submit").disabled = false;
}
}
}
}

</script>
</head>

<body style="test-align:center" onload="add()">
<table align="center" cellspacing="0" width="500" border="0">
<tr>
<td width="100">用 户 名</td>
<td width="200"><input type="text" id="text" onblur="test()"/></td>
<td width="200" id="result"></td>
</tr>
<tr align="center">
<td colspan="2"><input type="button" value="注册" id="submit" disabled="disabled"/></td>
<td></td>
</tr>
</table>
</body>
</html>

JAVA中AJAX的使用的更多相关文章

  1. 第88节:Java中的Ajax和ASP.NET和TCP/IP 教程和JSON

    第88节:Java中的Ajax和Jquery ajax是什么?有什么用?原理,怎么用? ajax是asynchronous javascript and xml(异步javascript和xml),是 ...

  2. java 中使用ajax调用后台方法注意事项

    java 中使用ajax调用后台方法注意事项,后台方法一定要加@ResponseBody jQuery.validator.addMethod("checkRuleName",fu ...

  3. 快速掌握Ajax-Ajax基础实例(Ajax返回Json在Java中的实现)

    (转)实例二:Ajax返回Json在Java中的实现 转自http://www.cnblogs.com/lsnproj/archive/2012/02/09/2341524.html#2995114 ...

  4. ajax传JSON时设置的contenttype导致JAVA中request.getParameter("")怎么也接收不到数据

    ajax传JSON时设置的contenttype默认值是application/x-www-form-urlencoded, 当ajax传JSON时设置的contenttype 如果是applicat ...

  5. prototype.js 和 jQuery.js中 ajax 的使用

    这次还是prototype.js 和 jQuery.js冲突的问题,前面说到过解决办法http://www.cnblogs.com/Joanna-Yan/p/4836252.html,以及上网说的大部 ...

  6. jquery中ajax 从前端到后端 完整过程解析

    几个原则: 1.get方式访问浏览器时,常加参数缘由: GET访问浏览器是等幂的,就是一个相同的URL只有一个结果[相同是指整个URL字符串完全匹配],所以第二次访问的时候如果 URL字符串没变化,浏 ...

  7. jquery中ajax的使用

    Java软件开发中,后台中我们可以通过各种框架,像SSH等进行对代码的封装,方便我们对Java代码的编写,例如,Struts,SpringMVC对从前台到action的流程进行封装控制,使我们只需要进 ...

  8. 通过Jquery中Ajax获取json文件数据

    1. JSON(JavaScript Object Notation): javaScript对象表示法: 是存储和交换文本信息的语法,比xml更小,更快,更易解析. 2. JSON基本书写格式 : ...

  9. java中回调函数的理解

    一,案例一 "通常大家说的回调函数一般就是按照别人(李四)的定好的接口规范写,等待别人(张三)调用的函数,在C语言中,回调函数通常通过函数指针来传递:在Java中,通常就是编写另外一个类或类 ...

随机推荐

  1. 自定义右键菜单中bug记录

    今天客服部提出一个Bug,拖动滚动条到底部右键表格下方的数据,然后点击拨打电话打出的是表格上面的号码,看了下代码发现bug的原因是因为获取表格中电话号码的方式是通过给tr绑定了mouseover事件, ...

  2. 在表单中元素的onchange事件的兼容性问题

    onchange:在值发生改变的时候触发 text:当光标离开的时候如果内容有变化就触发 radio/check:标准浏览器下点击的时候只要值变了就触发 非标准浏览器下焦点离开的时候如果值变了就触发

  3. 用django实现一个微信图灵机器人

    微信的post请求格式是xml,所以django需要做的就是将xml请求解析出来,把content发送到图灵机器人接口, 接口返回的json数据把主要内容给解析出来,然后重新封装成xml返回给微信客户 ...

  4. SuperSlidev2.1滑动门

    1.引用jQuery.js 和 jquery.SuperSlide.js 因为SuperSlide是基于jQuery的插件,所以前提必须先引用jQuery,再引用SuperSlide <head ...

  5. Xcode基本操作

    2.偏好设置 通过“command+,”快捷键或”Xcode|Preferences”菜单呼出偏好设置. (1)主题及字体(Preferences->Fonts & Colors) 选中 ...

  6. HTTP 错误 500.22 - Internal Server Error

    HTTP 错误 500.22 - Internal Server Error 检测到在集成的托管管道模式下不适用的 ASP.NET 设置. 最可能的原因: 此应用程序在 system.web/http ...

  7. c++ typeid获取类型名-rtti

    typeid操作符的作用就是获取一个表达式的类型.返回结果是const type_info&.不同编译器实现的type_info class各不相同.但c++标准保证它会实现一个name()方 ...

  8. MVC-RedirectToAction跳转到其他Area

    mvc使用Area分区开发后,存在不同Area之间的跳转,需要为每个区间添加Area规则,如下: using System.Web.Mvc; namespace web.Areas.FrameSet ...

  9. 深度学习(deep learning)

    最近deep learning大火,不仅仅受到学术界的关注,更在工业界受到大家的追捧.在很多重要的评测中,DL都取得了state of the art的效果.尤其是在语音识别方面,DL使得错误率下降了 ...

  10. 高性能JavaScript 达夫设备

    前言 在<高性能JavaScript>一书的第四章算法和流程控制中,提到了减少迭代次数加速程序的策略—达夫设备(Duff's device).达夫设备本身很好理解,但是其效果是否真的像书中 ...