`

ajax的两种常用调用方式

阅读更多

方式1:

//请求js
<script language="javascript">
var _object;
var xmlhttp = null;
var interval = null;
var rtnData = new Array();
var btype;

//判断浏览器类型
//ie和firefox对ajax请求回调函数的调用方式不同
function getOs(){ 
 var OsObject = ""; 
 if(navigator.userAgent.indexOf("MSIE")>0) {
  return "MSIE"; //IE浏览器
 } 
 if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){ 
  return "Firefox"; //Firefox浏览器
 } 
 if(isSafari=navigator.userAgent.indexOf("Safari")>0) {
  return "Safari"; //Safan浏览器
 } 
 if(isCamino=navigator.userAgent.indexOf("Camino")>0){ 
  return "Camino"; //Camino浏览器
 } 
 if(isMozilla=navigator.userAgent.indexOf("Gecko/")>0){ 
  return "Gecko"; //Gecko浏览器
 }
}


function loadXMLDoc(xmlName,dataTypeId){
 //动态请求调用地址
 var ivkUrl = "<%=path%>/jsp/DataRequest/autoFindRtnDataGTS.jsp?xmlName=" + xmlName + "&"+ Math.random();
 //alert("** ivkUrl = "+ ivkUrl);
   
 if (window.XMLHttpRequest){
  xmlhttp=new XMLHttpRequest();
 }else if (window.ActiveXObject){
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
 }
   
 if (xmlhttp){
  xmlhttp.open("GET",ivkUrl,false);
      
     btype = getOs();
     if(btype != "Firefox"){//IE回调state_Change接口
      xmlhttp.onreadystatechange = state_Change;
  }      
  xmlhttp.send(null);
      
  if(btype == "Firefox"){//Firefox做特殊处理
   var dataTypeId = "<%=dataTypeId%>";      
   if(dataTypeId == 1){
    updatePage();//页面逻辑
   }
  }
 }else{
  alert("Your browser does not support XMLHTTP");
 }
 
 //每隔10秒调用1次
 interval = window.setTimeout("loadXMLDoc('<%=xmlName%>','<%=dataTypeId%>')", 10000);
 if(rtnData.length == 1 && rtnData[0].downUrl){//1个下载链接
  window.clearTimeout(interval);
 }
 if(rtnData.length > 1){//多个下载链接
  window.clearTimeout(interval);
 }
}


function state_Change(){
 var dataTypeId = "<%=dataTypeId%>";
 
 if (xmlhttp.readyState==4){
  if (xmlhttp.status==200){
   if(dataTypeId == 1){
    updatePage();//页面逻辑
   }
  }
 }
}

//js中解析返回数组数据
rtnData = eval(xmlhttp.responseText);

 

 

方式2:

 

if (xmlhttp){
 try{
  xmlhttp.open("POST",'DateValidator.do',false);
     xmlhttp.send(currStartDate+"##"+currEndDate);//参数传递
 }catch (exception){
  alert(exception);
 }
 
 //js中解析返回数组数据
 rtnData = xmlhttp.responseText;
 ....      
}else{
 alert("Your browser does not support XMLHTTP");
}

 

 

java端处理:

String dateString = (String)requestObj.getData("REQUEST_XMLHTTP");//取得ajax提交的参数
String[] dateArray = dateString.split("##");

 

分享到:
评论

相关推荐

    多个ajax同时进行

    在现代Web开发中,异步JavaScript和XML(Ajax)是一种常用的技术,用于在不刷新整个页面的情况下与服务器进行数据交互。"多个Ajax同时进行"这个主题涉及到如何在Web应用程序中并发地发送多个Ajax请求,以提高用户...

    ajax使用常用套路

    - 对于 IE 浏览器,需要使用 `new ActiveXObject` 并尝试两种不同的对象名称(`Msxml2.XMLHTTP` 和 `Microsoft.XMLHTTP`)。 #### 2. 发送 AJAX 请求 - 定义 `sendUrl` 变量,用于标识发送请求的目标地址。 - `...

    Ajax中get和post区别

    其中,Get和Post是两种常用的HTTP请求方法,尽管它们都是用于将数据从客户端发送到服务器端,但是它们之间存在着很多的区别。 Get请求 Get请求是一种最常用的HTTP请求方法,用于从服务器端检索数据。Get请求的特点...

    Ajax常用方法

    - 描述:对 AJAX 返回的原始数据进行预处理的函数,提供 data 和 type 两个参数:data 是原始数据,type 是调用时提供的 dataType 参数。 - **dataType** - 类型:String - 描述:预期服务器返回的数据类型。...

    最新ajax常用的函数大全

    AJAX(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新。在本篇文章中,我们将深入探讨一些常用的AJAX...

    ajax技术文档 一些常用的ajax技术文档,及其应用实例!

    关于AjaxPro和Ajax.dll的差异,主要在于配置文件的写法和调用服务器方法的方式。Ajax.dll的配置文件不包含“ajaxpro”路径,而AjaxPro.dll则需要。此外,调用服务器方法时,Ajax.dll通常不需要指定命名空间,而...

    AJAX 常用案例 gridview updatepanel

    AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器交换数据并更新部分网页内容,实现了页面的异步交互,提高了用户体验。在ASP.NET中,...

    AJAX用例汇集各种常用的AJAX开发的示例

    AJAX支持GET和POST两种HTTP请求方式。GET请求通常用于获取信息,数据附加在URL后面;POST请求则可以传输大量数据,更适用于提交表单或上传文件。在AJAX中,可以通过XMLHttpRequest对象的open()和send()方法设置请求...

    jQuery AJax调用asp.net webservers的实现代码

    通过上述代码和分析,我们可以了解到如何使用jQuery的AJAX功能来调用ASP.NET WebService,并且理解了不同调用方式的具体实现。这种方式不仅能够提高用户体验,还能使得前后端分离更加清晰,是现代Web开发中常用的...

    完全手册:ASP.net.Ajax电子教程

    - **Web Services和Page Methods**:为了支持AJAX调用,ASP.NET提供了Web Services和Page Methods两种方式,允许客户端直接与服务器端方法交互。 **4. ASP.NET AJAX控件工具箱** - **ASP.NET AJAX Control Toolkit...

    juery+ajax常用js文件

    这里提到的"juery+ajax常用js文件"包含了一系列与这两个技术相关的库和插件,用于实现更复杂的文件上传功能。让我们一一探讨这些文件的作用和相关知识点。 1. **jQuery**: `jquery-1.4.min.js` 是一个早期版本的...

    jQuery ajax调用后台aspx后台文件的两种常见方法(不是ashx)

    在asp.net webForm开发中,用Jquery ajax调用aspx页面的方法常用的有两种:下面我来简单介绍一下。 (1)通过aspx.cs的静态方法+WebMethod进行处理 简单的介绍下WebMethod方法的用法 1.修饰符主要用public static修饰...

    Ajax调用restful接口传送Json格式数据的方法

    Ajax调用restful接口传送Json格式数据的方法是Web开发中非常常用的一种数据交互方式。它允许客户端与服务器之间进行异步通信,从而提高用户体验,因为它可以在不重新加载整个页面的情况下更新页面的一部分。而...

    aspx实现ajax案例

    这两种方法都可以返回JSON或XML数据,供客户端消费。在C#中,可以定义WebMethod特性标记的方法,使其可供Ajax调用。 在这个案例中,WebJson文件可能包含了一个Web服务或PageMethod的示例,用于处理Ajax请求并返回...

    原生的Ajax技术,包含原生Ajax的所有常用的知识点

    发送Ajax请求分为两个步骤:调用`open()`方法和`send()`方法。`open()`方法定义请求类型(GET或POST)、URL和是否异步执行。`send()`方法用于发送请求。 ```javascript xmlHttp.open('GET', 'url', true); ...

    浅析异步调用的ppt

    Web服务的异步实现主要涉及两种方式:同步调用和异步调用。异步调用在服务器端能够提高资源利用率,避免因为单个请求阻塞其他请求的处理。在客户端,使用异步调用可以保持用户界面的响应性。 【Remoting】是.NET ...

    ajax基础学习资料

    2. **HTTP请求与响应**:Ajax主要涉及GET和POST两种HTTP请求方式。GET请求将参数附加到URL后面,而POST请求则将数据放在请求体中。服务器响应时,数据可以是XML、HTML、JSON等各种格式,通过responseText或...

    动态添加DropDownList 的(通过ajax) 联动方式

    在Web开发中,DropdownList 是一种常用的用户界面元素,用于展示一系列选项供用户选择。而在某些场景下,可能需要根据用户的选择动态更新另一个DropdownList的内容。这种场景可以通过Ajax技术实现,使得用户体验更加...

    ajax内部值外部调用不了的原因及解决方法

    在前端开发中,AJAX(异步JavaScript和XML)是一种常用的技术,用于在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页。在使用AJAX技术时,开发者经常遇到的问题之一是内部变量无法在AJAX成功回调函数...

    30多个ajax简单实例dome

    在Ajax中,最常用的两种请求方式是GET和POST。GET请求通常用于获取数据,参数在URL中显示;POST请求则可以发送大量数据,且参数不会显示在URL上,更安全。 3. **数据格式**: 虽然名字中有XML,但现在Ajax更多地...

Global site tag (gtag.js) - Google Analytics