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. java 25 - 4 网络编程之 UDP协议传输的代码优化

    UDP协议的输出端: /* UDP发送数据: A:创建Socket发送端对象 B:创建数据报包(把数据打包) C:调用Socket对象发送数据报包 D:释放资源(底层是IO流) */ public c ...

  2. java 22 - 20 多线程之线程池

    程序启动一个新线程成本是比较高的,因为它涉及到要与操作系统进行交互. 而使用线程池可以很好的提高性能,尤其是当程序中要创建大量生存期很短的线程时,更应该考虑使用线程池. 线程池里的每一个线程代码结束后 ...

  3. iOS多线程开发资源抢夺和线程间的通讯问题

    说到多线程就不得不提多线程中的锁机制,多线程操作过程中往往多个线程是并发执行的,同一个资源可能被多个线程同时访问,造成资源抢夺,这个过程中如果没有锁机制往往会造成重大问题.举例来说,每年春节都是一票难 ...

  4. 实战SQL注入

    SQL注入是啥就不解释了.下面演示一个SQL注入的例子 SQL注入点可以自己尝试或用SQL注入漏洞扫描工具去寻找,这里用大名鼎鼎的sqlmap演示一个现成的案例. 1.漏洞试探 root@kali:~ ...

  5. Delphi连接Oracle控件ODAC的安装及使用(轉載)

     Delphi连接Oracle控件ODAC的安装及使用 2010-08-13 01:13:37 标签:Oracle Delphi 控件 休闲 ODAC 原创作品,允许转载,转载时请务必以超链接形式标明 ...

  6. SQL SERVER的连接方式

    最近在做项目的时候,遇到了SQLSERVER的连接,以前是很模糊的,现在做一个简单的总结. 针对SQL_SERVER,连接指定的方式有两种,一种是Where条件指定方式,另外一种是采用On连指定连接条 ...

  7. python数字图像处理(15):霍夫线变换

    在图片处理中,霍夫变换主要是用来检测图片中的几何形状,包括直线.圆.椭圆等. 在skimage中,霍夫变换是放在tranform模块内,本篇主要讲解霍夫线变换. 对于平面中的一条直线,在笛卡尔坐标系中 ...

  8. Jenkins进阶系列之——18Jenkins语言本地化

    在Jenkins中,英语一大片,看着各种蛋疼.非常高兴的是,Jenkins作为一个主流流行的持续构建工具,提供了一个本地化语言的配置界面. 你可以找到它,在Jenkins每页的左下角.如下图: 点击帮 ...

  9. C#微信公众号开发系列教程四(接收普通消息)

    微信公众号开发系列教程一(调试环境部署) 微信公众号开发系列教程一(调试环境部署续:vs远程调试) C#微信公众号开发系列教程二(新手接入指南) C#微信公众号开发系列教程三(消息体签名及加解密) C ...

  10. 基于DDD的.NET开发框架 - ABP的Entity设计思想

    返回ABP系列 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应 ...