AJAX和JSP混合使用的例子
首先我们要知道,AJAX是一种无需重装整个网页就能更新部分网页的技术。
什么是AJAX?
AJAX=异步JavaScript和XML。
AJAX,“异步Javascript和XML”是指一种用于创建交互式网络应用程序的网络开发技术。AJAX是一种用于创建快速动态网页的技术。
AJAX可以通过在后台与服务器交换少量数据,使网页异步更新。这意味着可以更新网页的一部分,而无需重新加载整个网页。
如果需要更新内容,传统网页(没有AJAX)必须重新加载整个网页。
AJAX的工作原理。
AJAX请求
Ajax请求依赖于XMLHttpRequest对象,因此它们应该在请求之前创建。
var xmlhttp//兼容性编写创建一个请求实例。IE5 6支持else中的if方法(window . xmlhttprequest){ xmlhttp=new xmlhttprequest();} else { xmlhttp=new ActiveX object(' Microsoft。XMLHTTP’);}然后向服务器发送请求。
Open函数有三个参数,请求模式、请求地址和请求是异步还是同步。send(String)函数只有一个参数,只有当请求模式为post时,才需要带String参数。
GET和POST有什么区别?
与POST相比,GET更简单、更快速,大多数情况下都可以使用。
但是,在以下情况下,请使用开机自检请求:
无法使用缓存文件向服务器发送大量数据(更新服务器上的文件或数据库)(POST没有数据限制)。当发送包含未知字符的用户输入时,POST比GET更稳定可靠。
//设置传递方法、地址和同步或异步xmlhttp.open('GET ',' Test.jsp?value=' escape(value),true);xmlhttp.onreadystatechange=回调;//状态变化时执行此功能,判断是否已请求xmlhttp . send();//请求服务器。如果使用post模式,send应该携带传递的参数。//post mode/* * xmlhttp . open(' post ',' test.jsp ',true);xmlhttp . setrequestheader(' Content-type ',' application/x-www-form-URL encoded ');xmlhttp . send(' value=' value ');*/然后服务器处理并返回,这放在带有特定代码的示例中。
在回调函数回调中设置对返回的响应。
onreadyStatechange存储一个函数(或函数名),每当readystate属性更改时都会调用该函数。ReadyState保存XMLHttpRequest的状态。从0更改为4。
03360请求未初始化1:服务器连接已建立2:请求已接收:请求处理4:请求已完成且响应就绪。
状态200:“正常”
404:找不到页面。
对应服务器的类型。
responseText以字符串的形式获取响应数据。
responseXML以XML形式获取响应数据。这通常在打开的url是xml文件时使用。
函数回调(){//请求完成的意思是if(xmlhttp . ready state==4xmlhttp . status==200){//设置对应的操作}}}一般来说,就这些步骤,下面是详细的代码。
例子
首先,创建一个文本框来测试用户名,并添加monitoring event on bulr,意思是失去焦点时执行,并在其后面创建一个span空标记,用于动态显示信息,指示名称是否被占用。
方法=' post '操作=' ajax。jsp ' table rtdinputtype=' text ' id=' userid ' on bulr=' check user()' span style=' color : red ' id=' span id '/span/TD/tr/table/form接下来是JS代码,由AJAX输入。
var xmlhttpfunction check user(){ var value=document . getelementbyid(' userid ')。价值;//兼容性编写创建一个请求实例。IE5 6支持else中的if方法(window . xmlhttprequest){ xmlhttp=new xmlhttprequest();} else { xmlhttp=new ActiveX object(' Microsoft。XMLHTTP’);}//设置传递方法、地址,以及同步还是异步xmlhttp.open('GET ',' Test.jsp?value=' escape(value),true);xmlhttp.onreadystatechange=回调;//状态变化时执行此功能,判断是否已请求xmlhttp . send();//请求服务器}然后服务器获取数据并写回。
%response.setHeader(“缓存控制”、“无存储”);//http 1.1 response . setheader(' Pragma ','无缓存');//http1 . 0 response . setdateheader(' Expires ',0);//禁止在服务器中缓存字符串值=request . getparameter(' value ');//获取传输的参数响应。getwriter()。写(值);//回写%的模拟数据。
然后客户端在函数中回调服务器写回的数据。
/* * *回调函数*/函数回调(){//请求完成表示if(xmlhttp . readystate==4xmlhttp . status==200){ alert(xmlhttp . responsetext);//text//alert(xmlhttp . response XML)相应地返回;//对应返回的xmlif (xmlhttp.responseText){//直接判断不是空的,根据数据库的返回值应该显示不同。var span id=document . getelementbyid(' span id ');Spanid.innerHTML=“注册成功”;}}}效果是当输入框失去焦点时立即判断。当然实际的判断是要和数据库连接的,所以为了简单直接打印出来。
以上内容是AJAX和JSP混合使用的一个例子,希望对大家有所帮助!
版权声明:AJAX和JSP混合使用的例子是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。