`
dongsw
  • 浏览: 81317 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ajax学习(一)小例子

阅读更多
Ajax实现点击页面上的按钮,触发页面每隔1秒就自动添加一个文本框并在文本框中显示0~100的随即数,一共显示10次。
prompt.jsp中的代码
var promptValue;//后台产生的随即值
var xmlhttpreq = false;//页面request对象
var promptKey;
//创建xmlhttprequest对象    
function createxmlhttprequest() {
	//alert('createxmlhttprequest');
        xmlhttpreq = false;

        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            xmlhttpreq = new XMLHttpRequest();
            if (xmlhttpreq.overrideMimeType) {
                xmlhttpreq.overrideMimeType('text/xml');
            }
        } else if (window.ActiveXObject) { // IE
            try {
                xmlhttpreq = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    xmlhttpreq = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }

        if (!xmlhttpreq) {
            alert('Giving up :( Cannot create an XMLHTTP instance');
            return false;
        }
}

//发送请求函数
function getprompt() {
	//alert('getprompt');
	createxmlhttprequest();
	var url = "ajaxTest.action";//我使用的是struts2的Action
	xmlhttpreq.open('GET', url, true);
	xmlhttpreq.onreadystatechange = processresponse;//指定响应函数
	xmlhttpreq.send(null);  // 发送请求
}

// 处理返回信息函数
function processresponse() {
	//alert('processresponse');
	//alert(xmlhttpreq.readyState);
	if (xmlhttpreq.readyState == 4) { // 判断对象状态
		if (xmlhttpreq.status == 200) { 
                   // 信息已经成功返回,开始处理信息
			alert(xmlhttpreq.responseXML.xml);
			setprompt(xmlhttpreq.responseXML);
		} else { //页面不正常
			window.alert("\u60a8\u6240\u8bf7\u6c42\u7684\u9875\u9762\u6709\u5f02\u5e38\u3002");
		}
	}
}

// 设置新值
function setprompt(xmlValue) {
	//alert('setprompt');
	var val = 
               xmlValue.getElementsByTagName('promptKey');
	promptValue = val[0].text;
	addTableRow();
}
var counter = 0;
function addinput(){
	//alert('addinput');
	timer=window.setTimeout(addinput,1000);//每隔1秒就递归调用
	getprompt();
	counter++;
	if(counter==10){	
	     window.clearTimeout(timer);//停止自动调用
	}	
}

var a = false;
function addTableRow(){//插入一行html
	if(a==false){
            a = document.getElementById("mytable").rows.length
	}
	//alert('addTableRow');
	//alert(a);
	//找到表节点
	var tableNode = document.getElementById("mytable");
	//插入到多少行(从0开始)
	var trNode =  tableNode.insertRow(a);
	var tdNode = trNode.insertCell(0);
	var inputNode = document.createElement("input"); 
    //inputNode.setAttribute("name",text);
   //如果是新创建的
    inputNode.setAttribute("type","text");   
    inputNode.setAttribute("value",promptValue); 
    alert(promptValue);
 	tdNode.appendChild(inputNode);     
	//自增长
	a++;
}


下面是prompt.jsp中的部分html代码:
<table id="mytable">
<input type="button" id="but" onclick="addinput()" value="start"/>


后台java处理类,生成一个随机数包装成xml格式返回到客户端。
下面是代码,我用的是struts2的Action来代替一般的Servlet:
public class TestAjax extends ActionSupport {
	
	/*
	 * (non-Javadoc)
	 * 
	 * @see com.opensymphony.xwork2.ActionSupport#execute()
	 */
	public String ajaxTest() throws Exception {
		// TODO Auto-generated method stub

		HttpServletResponse response = ServletActionContext.getResponse();
		response.setContentType("text/xml; charset=UTF-8");

		response.setHeader("Cache-Control", "no-cache");

		final PrintWriter out = response.getWriter();
		
		out.println("<response>");
		
		double num= Math.round(Math.random() * 100 );
		
		out.println("<promptKey>" + num + "</promptKey>");
		
		System.out.println(num);
		
		out.println("</response>");
		
		out.close();
		
		return null;
		//return SUCCESS;
	}



个人小练习 如有错误欢迎指正
分享到:
评论

相关推荐

    学习Ajax的一个小例子

    这个小例子是关于如何使用Ajax进行数据交互的学习实践。通过Ajax,开发者可以实现页面的异步更新,提高用户体验,减少服务器负载。 在本例中,我们首先需要了解Ajax的核心组成部分: 1. **XMLHttpRequest对象**:...

    jquery,ajax的几个小例子

    **jQuery和Ajax技术详解** jQuery是一款非常流行的JavaScript库,它极大地简化了JavaScript的DOM操作、事件处理以及Ajax交互。...通过学习和实践这些基本的Ajax功能,开发者能够构建出更加动态和响应式的网页应用。

    Ajax小例子源码

    本Ajax小例子源码提供了对这一技术的基础应用,非常适合初学者学习和理解Ajax的工作原理。下面我们将详细解析Ajax的几个关键知识点: 1. **XMLHttpRequest对象**:这是Ajax的核心,它是JavaScript内置的对象,用于...

    Java学习Ajax的小例子

    在这个"Java学习Ajax的小例子"中,我们可以预期包含以下关键步骤和知识点: 1. **创建Servlet**:首先,你需要在Eclipse中创建一个新的Java项目,并编写一个Servlet来处理HTTP请求。Servlet会根据请求类型(GET或...

    一个ajax的小例子

    在"一个Ajax的小例子"中,我们很可能是看到一个简单的应用示例,展示如何使用Ajax进行后台数据的通信。Ajax的核心是通过JavaScript创建XMLHttpRequest对象,这个对象是浏览器提供的API,用于实现客户端和服务器之间...

    ajax三个小例子供学习

    学习这些Ajax小例子,对于初学者来说,有助于理解Ajax的基本原理和使用方式。局部刷新是Ajax的核心特性,它使得网页变得更加动态和互动。在实际开发中,Ajax广泛应用于表单提交、数据查询、页面导航等多种场景,极大...

    一个完整的ajax应用例子

    **Ajax(Asynchronous JavaScript and XML)技术是一种在无需...这个压缩包文件中的"ajaxjs"可能包含了实现上述功能的JavaScript代码,通过学习和理解这段代码,你可以深入理解Ajax的工作原理及其在实际项目中的应用。

    一些ajax例子,ajax学习例子

    在本案例中,“一些ajax例子,ajax学习例子”是一个学习和实践Ajax技术的资源集合。 Ajax的核心是JavaScript对象XMLHttpRequest,它允许开发者在后台与服务器进行通信,而不会打断用户的交互。以下是一些关键的Ajax...

    Ajax小例子

    这个小例子展示了如何使用Ajax实现用户验证和三级联动的功能,这两个功能在许多Web应用程序中非常常见。 首先,用户验证是确保用户输入的有效性和安全性的过程。在Web应用中,这通常涉及到对用户输入的邮箱、用户名...

    上传文件的AJAX小例子

    【上传文件的AJAX小例子】是一个通过HTML5新特性实现的文件上传示例,它结合了AJAX技术,提供了一种无需刷新页面即可完成文件上传的交互方式。在这个例子中,IBM展示了一种创新的文件上传解决方案,尤其是利用了...

    很简单的一个AJAX例子

    学习和理解这个简单的AJAX例子,有助于开发者掌握如何在不刷新整个页面的情况下更新内容,提升用户体验。此外,随着技术的发展,现代浏览器提供了更高级的API,如Fetch API和Promise,使得AJAX操作更加简洁和易用。...

    AjaxJson应用小例子

    在这个"AjaxJson应用小例子"中,我们将深入探讨如何在Java环境下,结合Struts1.3框架,使用Ajax和JSON进行数据交互。 首先,我们需要了解Struts1.3框架。Struts是Apache组织开发的一个MVC(Model-View-Controller)...

    Ajax做的一个小例子

    这个"Ajax做的一个小例子"很可能是用来展示如何使用Ajax来实现网页局部刷新功能的代码示例。在这个例子中,开发者可能通过Ajax技术与服务器进行数据交互,获取JSON格式的数据,然后动态地更新网页内容,提高用户体验...

    Struts2 Spring Jpa Ajax Dojo crud小例子

    通过学习这个小例子,开发者可以了解到如何将这些技术融合在一起,创建一个完整的、具备前端交互和后端数据管理的Web应用。这有助于提升开发者在实际项目中的综合技能,特别是在处理复杂业务逻辑和数据操作时。

    ajax最简单例子

    **Ajax(Asynchronous JavaScript and XML)**是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新。这种技术可以提升用户体验,因为...

    Ajax的JSP例子

    总之,这个Ajax JSP例子是学习Web开发中异步交互的一个实例,通过实际操作,你可以更好地掌握Ajax技术和JSP的结合应用,从而提升网页的动态性和用户体验。在实际工作中,Ajax已经被广泛应用于各种Web应用,如实时...

    一个简单的Ajax例子

    在这个"一个简单的Ajax例子"中,我们将深入探讨Ajax的核心概念、工作原理以及如何编写基本的Ajax代码。 1. **Ajax核心概念**: - **异步通信**:Ajax允许浏览器与服务器进行非阻塞通信,即用户在请求处理期间仍可...

    ajax,jQuery 例子大全,json例子

    **Ajax** Ajax(异步JavaScript和XML)是一种在无需刷新整个网页的情况下,能够更新部分...通过学习和实践这些例子,你可以更好地理解和掌握如何使用Ajax和jQuery来创建动态、交互式的Web应用,以及如何处理JSON数据。

    ajax的一个小例子

    这个小例子是基于Eclipse开发环境,利用JavaScript实现的,并在Tomcat5服务器上运行,对于初学者来说是一个很好的实践项目。** 在Eclipse中创建一个Web项目,首先需要设置好项目的结构。通常,一个Web项目会包含WEB...

Global site tag (gtag.js) - Google Analytics