当一个页面的按钮超链接到另外一个页面时,而这个页面的数据,是通过不同的多个.do请求来填充数据时,要用到异步调用。且用到
var tmpInterval=window.setInterval("getEveryPageInfo()",1000);//定时处理。
function getEveryPageInfo(){
if (最后){
window.clearInterval(tmpInterval);
页面处理最后的处理
return ;
}
var request=Request
sendRequest(request,Url);//异步请求过程。(本人对回调进行了封装)
}
}。
function sendRequest(request,url){
request.reSend(url,"",callBackInfo);
}
var Request = new function(){
this.pool = new Array();
this.getXMLHttp = function (){
for (var i = 0; i < this.pool.length; i++){
if (this.pool[i]["obj"].readyState == 0 || this.pool[i]["obj"].readyState == 4){
return this.pool[i]["obj"];
}
}
this.pool[this.pool.length] = new Array();
this.pool[this.pool.length - 1]["obj"] = this.createXMLHttp();
return this.pool[this.pool.length - 1]["obj"];
}
this.createXMLHttp = function (){
if(window.XMLHttpRequest){
var xmlObj = new XMLHttpRequest();
}
else{
var MSXML = ['Microsoft.XMLHTTP', 'MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP'];
for(var n = 0; n < MSXML.length; n++){
try{
var xmlObj = new ActiveXObject(MSXML[n]);
break;
}catch(e){
}
}
}
return xmlObj;
}
this.reSend = function (url,data,callback){
var objXMLHttp = this.getXMLHttp()
if(typeof(objXMLHttp) != "object"){
return ;
}
url += (url.indexOf("?") >= 0) ? "&random=" + new Date().getTime() : "?random=" + new Date().getTime();
if(data == ""){
objXMLHttp.open('GET' , url, true);
objXMLHttp.send('');
}
else{
objXMLHttp.open('POST' , url, true);
objXMLHttp.setRequestHeader("Content-Length",data.length);
objXMLHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
objXMLHttp.send(data);
}
if(typeof(callback) == "function" ){
objXMLHttp.onreadystatechange = function (){
if (objXMLHttp.readyState == 4){
if(objXMLHttp.status == 200 || objXMLHttp.status == 304){
callback(objXMLHttp);
}
else{
//alert("Error loading page\n"+ objXMLHttp.status +":"+ objXMLHttp.statusText);
}
objXMLHttp.abort();
}
}
}
}
}
function callBackInfo(xmlHTTP){
var reqXml=xmlHTTP.responseText;
业务处理。。。
}
执行的过程是:
一般是得到数据,在进行处理。
分享到:
相关推荐
这可以通过调用`isMultipart()`方法检查请求是否为多部分类型,然后使用`getMultipartRequestHandler()`或`createMultipartRequest()`(根据所使用的Spring版本)来创建`MultipartHttpServletRequest`实例。...
通过session,服务器可以在多个请求之间存储用户的状态信息。 11. **MVC模式和Servlet** - 在Servlet中,Model-View-Controller(MVC)模式可以通过分离业务逻辑(Model)、表示层(View)和控制逻辑(Controller...
Servlet是线程安全的,这意味着多个请求可以同时调用同一个Servlet实例。开发者需要注意并发控制,以防止数据竞争。 12. **异步处理** 自Java EE 7开始,Servlet API支持异步处理,允许Servlet在处理请求时释放...
通过调用`HttpServletRequest.startAsync()`开启异步模式,然后在回调的`AsyncContext.complete()`中发送响应。 10. **总结** 通过这个Servlet入门例子,我们了解了Servlet的基本概念、创建、部署和运行过程。继续...
8. **异步处理**:从Servlet 3.0开始,Servlet支持异步处理,允许Servlet在处理请求时不阻塞其他请求,提高了性能。 9. **MVC框架**:虽然Servlet本身是一个低级别的API,但许多流行的MVC框架,如Spring MVC,是...
2. **请求范围**:选项B正确地描述了request范围内的对象与同一请求中的多个页面相关。 3. **会话范围**:选项C的说法有误,application范围才是针对整个Web应用的。 4. **会话管理**:选项D正确地指出了在session...
在处理请求时,我们可以先创建一个`RepeatableHttpServletRequest`实例,将其传递给我们的处理器,这样处理器就可以多次调用`getInputStream()`来读取数据,而不会丢失原始输入流。 此外,我们还需要确保正确处理`...
接下来,我们创建一个Action类,例如`UpLoadAction.java`,继承自`Action`,处理用户的上传请求。在`execute`方法中,我们获取到`ActionForm`,然后通过`getTheFile()`方法来访问`FormFile`对象,这个对象包含了上传...
在Struts中,上传功能主要依赖于一个名为“Commons FileUpload”的第三方库,它是Apache Commons项目的一部分,专门用于处理HTTP请求中的多部分/表单数据。 在使用Struts上传组件时,首先需要在Struts配置文件...
- **Ajax调用**:`moreData()`函数通过Ajax发送POST请求到服务器,传入当前页码信息(例如,通过隐藏字段`<input class="tip" value="1">`获取)。 - **后台处理**:服务器接收到请求,通常由控制器类(如Java的`@...
在上述代码中,`Ajax.Request` 是关键,它接收两个参数:一个是请求的 URL,另一个是一个包含多个选项的对象。这些选项包括请求的方法(这里是 'post'),参数(在这里是空字符串),以及在请求成功、完成或失败时要...
与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。...
与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。...
【Java实现支付宝电脑支付基于Servlet版本】 在Java中实现支付宝电脑支付功能,主要是通过与支付宝的开放API进行交互,...在实际开发中,还需要考虑异常处理、安全性、用户体验等多个方面,确保支付流程的顺畅和安全。
这段JavaScript代码使用jQuery库发送一个GET请求到指定的URL(`/smokeplan.do?method=Tibao&idset=`),并在请求成功时显示服务器返回的结果(`result`)。 在服务器端,通常使用某种后端技术(如Java的Struts或...
在这个例子中,当用户点击“上传”按钮时,会触发一个JavaScript事件,阻止表单的默认提交行为,并使用ajaxFileUpload方法发起异步文件上传请求。后端返回的JSON数据会被解析,并根据结果向用户显示相应的提示信息。...
- **AJAX技术:** 了解异步请求的基本原理及其在Web开发中的应用。 #### 四、JavaWeb程序设计(3周) ##### 4.1 Java与XML - **XML基础知识:** 学习XML的基本语法及其与JSON的区别。 - **解析XML:** 掌握DOM和...