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. 第七课——iOS数据持久化

    今天我们要学习plist.Preference.NSKeyedArchiver.Sqlite.CoreData(属性列表.偏好设置.归档.数据库.模型化对象). 首先plist就是将某些特定类,通过X ...

  2. linux下安装安装pcre-8.32 configure: error: You need a C++ compiler for C++ support

    linux下安装安装pcre-8.32./configure --prefix=/usr/local/pcre 出现以下错误configure: error: You need a C++ compi ...

  3. FSL - MELODIC

    Source: http://fsl.fmrib.ox.ac.uk/fsl/fslwiki/MELODIC; https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/MELODI ...

  4. NET Core项目定义Item Template

    NET Core项目定义Item Template 作为这个星球上最强大的IDE,Visual Studio不仅仅提供了很多原生的特性,更重要的是它是一个可定制的IDE,比如自定义Project Te ...

  5. jinja模版

    实现不同机器的差异化配置                 把apache监听的端口统一改为8080     把配置文件files/httpd.conf 文件做成模版         修改lamp.sl ...

  6. Android智能指针sp wp详解

    研究Android的时候,经常会遇到sp.wp的东西,网上一搜,原来是android封装了c++中对象回收机制.说明:1. 如果一个类想使用智能指针,那么必须满足下面两个条件:    a. 该类是虚基 ...

  7. lecture6-mini批量梯度训练及三个加速的方法

    Hinton的第6课,这一课中最后的那个rmsprop,关于它的资料,相对较少,差不多除了Hinton提出,没论文的样子,各位大大可以在这上面研究研究啊. 一.mini-批量梯度下降概述 这部分将介绍 ...

  8. Theano3.2-练习之数据集及目标函数介绍

    来自http://deeplearning.net/tutorial/gettingstarted.html#gettingstarted 一.下载 在后续的每个学习算法上,都需要下载对应的文档,如果 ...

  9. Windows下Memcache的安装及PHP扩展配置

    一.下载 找到完整的memcache的Windows安装包,解压放在硬盘上,比如 F:\memcached.exe 二.安装 WIN7 64位双击打开这个exe可能只有一个空的窗口,不能输入任何命令, ...

  10. 浅谈WCF的三种通信模式:请求响应模式、数据报模式和双工通讯模式

    一: WCF的服务端与客户端在通信时有三种模式:请求响应模式.数据报模式和双工通讯模式. 说一下基本知识,  1.如果想要将当前接口作为wcf服务器,则一定要加上[ServiceContract] 契 ...