20151217--Ajax的一点补充
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Ajax</title> <script language="javascript">
//<script language="javascript" type="application/javascript"> // 如果上方的代码不能够完整实现就使用这个 //IE浏览器实例化方式
//var h = new ActiveXObject("Msxml2.XMLHTTP"); //var p = new ActiveXObject("Microsoft.XMLHTTP"); //非IE浏览器
//var f = new XMLHttpRequest(); //alert(p.getAllResponseHeaders()); var hx = false;
//定义函数
function test(user_id)
{
//所有浏览器通用实例化代码
if(window.XMLHttpRequest) //非IE IE7版本及以上 都支持非ie形式
{
hx = new XMLHttpRequest(); //如果是非IE浏览器 那么就会实例化
// alert("qqq"); //如果是实例化成功上方的,那么就会输出这句话
}
else if(window.ActiveXObject) //IE
{
try{
hx = new ActiveXObject("Msxml2.XMLHTTP"); //实例化
// alert("qqq2"); //如果实例化成功上方的 那么就会输出这句话
}
catch(e)
{
alert(e);
try
{
hx = new ActiveXObject("Microsoft.XMLHTTP"); //实例化
// alert("qqq3"); //如果实例化成功上方的 那么就会输出这句话
}
catch(e)
{
alert(e);
}
}
} //测试创建XMLHttpRequest是否成功
if(!hx)
{
alert("创建XMLHttpRequest失败");
}
else
{
alert("创建XMLHttpRequest成功");
} //异步请求的请求类型有两种方式 一种是 get 另一种是 post 两种方法都有各自的方式 //get方式 alert(new Date().getTime());
// 1 设置异步请求的url等信息
hx.open("GET","ajaxtest?userid=" + user_id + "&nocache = " + new Date().getTime() , true); //("请求类型 GET/POST",URL,是否异步 true/false)
// 2 设置回调函数 事件处理器
hx.onreadystatechange = function() //匿名函数
{
getResult("1");
}
// hx.onreadystatechange = getResult; //将回调函数的函数名作为一个事件处理器给 hx.onreadystatechange
//调用请求的发送
hx.send(null); //在需要请求传送参数时设置异步请求时用 post 方式 } //回调函数
function getResult(type)
// function getResult()
{
//
//alert("readyState = "+hx.readyState);
if(hx.readyState == 4) //判断是否完成
{
if(hx.status == 200) //判断服务器是否完成,正常
{
// alert("回调信息 = " + hx.responseText); //返回的值
alert(hx.responseText); alert(type); // alert("Headers = " + hx.getAllResponseHeaders()); //获取返回函数的全部头信息 // alert("Server = " + hx.getResponseHeader("Server")); //获取部分头信息--回调信息
}
else
{
alert("错误状态码 = " + hx.status + "状态文本信息 = " + hx.statusText);
}
}
} /* //post方式 // 1 设置异步请求的url等信息
hx.open("POST","ajaxtest",true); //("请求类型 GET/POST",URL,是否异步 true/false)
// 2 设置回调函数 事件处理器 hx.onreadystatechange = function() //匿名函数
{
getResult("1");
} // hx.onreadystatechange = getResult; //将回调函数的函数名作为一个事件处理器给 hx.onreadystatechange //调用请求的发送
//在需要请求传送参数时设置异步请求时用 post 方式
hx.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
//post方式 数据传输 get方式可以直接放置于URL中
hx.send("userid=" + user_id); }
//回调函数
function getResult(type)
{
//
//alert("readyState = "+hx.readyState);
if(hx.readyState == 4) //判断是否完成
{
if(hx.status == 200) //判断服务器是否完成,正常
{
// alert("回调信息 = " + hx.responseText); //返回的值
alert(hx.responseText);
// alert("Headers = " + hx.getAllResponseHeaders()); //获取返回函数的全部头信息 // alert("Server = " + hx.getResponseHeader("Server")); //获取部分头信息--回调信息
}
else
{
alert("错误状态码 = " + hx.status + "状态文本信息 = " + hx.statusText);
}
}
}
*/
//alert("Server = " + hx.getAllResponseHeaders("Server")); </script> </head> <body> 用户代码:<input type="text" onchange="test(this.value);" /> </body>
</html>
Ajax
package com.hanqi; import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; /**
* Servlet implementation class ajaxtest
*/
@WebServlet("/ajaxtest")
public class ajaxtest extends HttpServlet {
private static final long serialVersionUID = 1L; /**
* Default constructor.
*/
public ajaxtest() {
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); response.setContentType("text/html; charset=utf-8"); String userid = request.getParameter("userid"); if(userid != null && userid.trim().length() > 0)
{
//查找用户信息
if(userid.equals("abc"))
{
response.getWriter().append("用户代码已存在!"); }
else
{
response.getWriter().append("用户代码不存在,可以使用!");
} }
else
{
response.getWriter().append("请正确填写!");
} response.getWriter().append("test ajax"); response.getWriter().append("Served at: ").append(request.getContextPath());
} /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
} }
AjaxTest

20151217--Ajax的一点补充的更多相关文章
- 对于Tomcat服务器环境变量和启动配置的一点补充
我们之前第一次使用Tomcat服务器运行jsp应用时,曾经给Tomcat配置过一个环境变量CATALINA_HOME,这个变量指定了Tomcat的安装位置,对于多个开发项目,我们一般会释放多个tomc ...
- WCF的一点补充-Restful相关
参考 配置WCF心得 对REST架构 风格下WCF的一点补充 Securing WCF REST Service with Azure AppFabric Access Control Service ...
- Ajax技术使用补充
Ajax技术使用补充 一.Ajax发送数据的几种形式 发送字符串或数字 $.ajax({ url:"/ajax_test.html/", type:'POST', data:{'v ...
- C++基础--引用的一点补充
这一篇是对引用的一点补充,内容基本上是来自<C++ primer plus>一书第八章的内容. 前面一篇介绍了引用的一点特点,这里补充一个,将引用用于类对象的时候,有一个体现继承的特征,就 ...
- 关于asp.net与jquery ajax 的一些补充
补充1:asp.net 与后台交互除了用之前写得$.ajsx()外 还可以直接使用$.get() , $.post()等. 补充2:jquery 跨域请求 例如: JSONP 跨域: $.ajax( ...
- Android 12(S) 图形显示系统 - Surface 一点补充知识(十二)
必读: Android 12(S) 图形显示系统 - 开篇 一.前言 因为个人工作主要是Android多媒体播放的内容,在工作中查看源码或设计程序经常会遇到调用API: static inline i ...
- 关于bundle install 的一点补充
在第一次运行bundle install之后,生成了Gemfile.lock文件,里面记录gem的具体版本号,按照官方文档说明,以后运行bundle install就不会再依据Gemfile,而是根据 ...
- 【Linux】 linux的进程系统一点补充
linux进程系统 ■ 程序 vs. 进程 程序静态地存放在磁盘中.用户可以触发执行程序,被触发后的程序就存进内存中成为一个个体,即为进程. 有些进程(比如crond需要每分钟都扫描.守护进程等等)是 ...
- 关于SpringMVC控制器的一点补充
首先复习一下之前控制器的写法:http://www.cnblogs.com/eco-just/p/7882016.html. 我们可以看到,之前的写法是这样的: @RequestMapping(&qu ...
随机推荐
- 黑马程序员 Java基础<九>---> 多线程
ASP.Net+Android+IOS开发..Net培训.期待与您交流! 多线程 一.概述: 1.线程是什么 说到线程,我们就得先说说进程.所谓进程,就是一个正在执行(进行)中的程序,每一个进程执行都 ...
- Windows下搭建Eclipse+Android4.0开发环境
官方搭建步骤: http://developer.android.com/index.html 搭建好开发环境之前须要下载以下几个文件包: 一.安装Java执行环境JRE(没这个Eclipse执行不起 ...
- 逆向x64-small-trick
在逆向一些x64的代码时,会发现有一小段汇编代码理解不了,这个时候回想,要是能单独执行这一小段汇编就好了.现在我就介绍一个我的解决方法:很小汇编一段代码,但是不好理解,我就把它单独写成了一个函 ...
- 【Tarjan,LCA】【3-21个人赛】【problemD】
Problem D Time Limit : 6000/3000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other) Total Sub ...
- JQuery(三)——操作HTML和CSS内容
前边我们学习过JS通过DOM来操作HTML(详看DOM(一)——HTML DOM ),这篇博客我们来看一下JQuery是如何方便的对HTML以及CSS进行各种操作呢?顺便两者之间相互比较一下,看其差别 ...
- Windows中进程的内存结构
基础知识: 栈是一种简单的数据结构,是一种只允许在其一端进行插入或删除的线性表.允许插入或删除操作的一端称为栈顶,另一端称为栈底,对栈的插入和删除操作被称为入栈和出栈. 有一组CPU指令可以实现对进程 ...
- fragment嵌套,viewpager嵌套 不能正确显示
转帖:http://blog.csdn.net/mybook1122/article/details/24003343 通常为 viewPager.setAdapter(new MyFragmentP ...
- JavaScript中的Math.ceil()、Math.round()、Math.floor()
1. Math.ceil():向上取整(指取大于该浮点数的最小整数) 2. Math.round():四舍五入取整(注意:当该浮点数距离两端整数一样时,取较大的那个整数,如Math.round(-1. ...
- PHP中实现异步调用多线程程序代码
本文章详细的介绍了关于PHP中实现异步调用多线程方法,下面我们以给1000个用户发送一封推荐邮件,用户输入或者导入邮件账号了提交服务器执行发送来讲述. 比如现在有一个场景,给1000个用户发送一封推荐 ...
- laravel中间件源码分析
laravel中间件源码分析 在laravel5.2中,HTTP 中间件为过滤访问你的应用的 HTTP 请求提供了一个方便的机制.在处理逻辑之前,会通过中间件,且只有通过了中间件才会继续执行逻辑代码. ...