您现在的位置:首页 >> 前端 >> 内容

AJAX初学者简单小示例

时间:2017/7/17 17:17:23 点击:

  核心提示:初学AJAX,简单的实现了一个小案例:web界面提供两个文本输入框,两个按钮和一个DIV盒子,将文本输入框输入的内容显示到DIV中。这里使用两种提交方式:一种GET提交方式,一种POST提交方式。AJ...
初学AJAX,简单的实现了一个小案例:web界面提供两个文本输入框,两个按钮和一个DIV盒子,将文本输入框输入的内容显示到DIV中。这里使用两种提交方式:一种GET提交方式,一种POST提交方式。

AJAX = Asynchronous JavaScript and XML(异步的 javascript 和 XML)。

AJAX 不是新的编程语言,而是一种使用现有标准的新方法。

AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。

AJAX 不需要任何浏览器插件,但需要用户允许javascript在浏览器上执行。

这个案例我们使用Myeclipse编写,首先创建一个index.jsp页面,在head里面写入下面这段代码:

 <script type="text/javascript">
//获得AJAX的XMLHttpRequest对象
var xmlHttp;
function createXHR(){
if(window.ActiveXObject){
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}else{
xmlHttp=new XMLHttpRequest();
}
}
//创建回调函数将服务器返回的值显示到DIV当中(也就是处理服务器端响应的内容)
function requestCallBack(){
if(xmlHttp.readyState==4){
if(xmlHttp.status==200){
var content=xmlHttp.responseText;
document.getElementById("content").innerHTML=content;
}
}
}
//按钮的GET提交方法(GET提交方法是将内容通过url发送出去的)
function setGET(){
//获取XMLHttpRequest对象
    createXHR();
//根据document对象的getElementById方法获取第一个文本输入框的内容
var username=document.getElementById("username").value;
//根据document对象的getElementById方法获取第二个文本输入框的内容
var age=document.getElementById("age").value;
//将两个文本输入框的内容拼接为一个字符串
var queryStr="username="+username+"&age="+age;
//提供发送的url
var url="login.jsp?"+queryStr+"&stampTime:"+new Date().getTime();
//使用XMLHttpRequest对象的open方法初始化参数(提交方式,url,是否异步)
xmlHttp.open("GET", url,true)
//将初始化的参数发送出去
xmlHttp.send(null);
//调用回调函数
xmlHttp.onreadystatechange=requestCallBack;
}
//按钮的POST提交方法
function setPOST(){
//获取XMLHttpRequest对象
     createXHR();
//根据document对象的getElementById方法获取第一个文本输入框的内容
   
 var username=document.getElementById("username").value;
//根据document对象的getElementById方法获取第二个文本输入框的内容
     var age=document.getElementById("age").value;
//将两个文本输入框的内容拼接为一个字符串
     var queryStr="username="+username+"&age="+age;
//提供发送的url
     
var url="login.jsp?"+"stampTime:"+new Date().getTime();
//使用XMLHttpRequest对象的open方法初始化参数(提交方式,url,是否异步)
     
xmlHttp.open("POST", url,true)
//设置请求头来设置以表单的形式来提交内容信息
     
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
//将要发送的信息发送出去
     
xmlHttp.send(queryStr);
//调用回调函数
     
xmlHttp.onreadystatechange=requestCallBack;
}

</script>

在body里面提供两个文本输入框、两个按钮和一个DIV盒子。代码如下:

<body>
  <!-- 姓名输入框 -->
    姓名:<input type="text" name="username"  id="username"><br>
    <!-- 年龄输入框 -->
    年龄:<input type="text" name="age" id="age"><br>
    <!-- 按钮的两种提交方式 -->
    <input type="button" value="GET" onclick="setGET()"><input type="button" value="PSOT" onclick="setPOST()">
    <!-- 将局部刷新的内容显示到DIV当中 -->
    <p id="content"></p>
  </body>

然后新建一个login.jsp(名字可以自己取)页面当作服务器,为了简便在jsp界面中直接写入Java代码。代码如下:

<% //服务器获取文本框输入的内容
String username=request.getParameter("username");
String age=request.getParameter("age");
//判断提交方式
if(request.getMethod().equals("GET")){
out.println("GET:"+"username:"+username+",age:"+age);
}else{
out.println("POST:"+"username:"+username+",age:"+age);
}
 %>

Tags:AJ JA AX X初 
作者:网络 来源:wxlovezyd的