有关Ajax实现的两种方法

首先我们来常见的Jquery式的Ajax写法,以及在java后台的取值

 1 /**
 2  *AJAX
 3  */
 4 function showLastTime(){
 5     var facilityId = $(‘*[name="facilityId"]‘).val();  //页面取值
 6     var mainteType = $("#mainteType").val();
 7     var mainteWorkNm = $("#mainteWorkNm").val();
 8     var url = AP_BASE_URL + "c412s/showLastYmd/";  //url的生成
 9     if(facilityId !=""&&mainteType !=""&&mainteWorkNm !=""){
10         $.ajax({
11             async:false,  //false为同步(用户需要等待刷新完才能操作),true为异步(不需要等待,可以进行其他操作)
12             url: url,     //请求的URL
13             type: ‘POST‘, //两种方式POST和GET,POST方式为隐形传输,GET会将所传参数和值拼写在url中(推荐POST)
14             data: {
15                 //以下为所需传递的参数
16                 ‘facilityId‘:facilityId,
17                 ‘mainteTypeCd‘:mainteType,
18                 ‘mainteWorkId‘:mainteWorkNm
19             },
20             //cache: false,
21             error: function(XMLHttpRequest, textStatus, errorThrown){
22                 ajaxError(XMLHttpRequest, textStatus, errorThrown);
23             },
24             success: function(data) {    //data为后台传回的数据
25                 $(".info").html(data);    //收到回传数据后执行的操作
26             }
27         });
28     }else{
29         $(".info").text("");
30     }
31     return false;
32 }

其次为普通JS的Ajax的写法

function showLastTime2(){
    var mainteType = $("#mainteType").val();
    var mainteWorkNm = $("#mainteWorkNm").val();
    var facilityId = $(‘*[name="facilityId"]‘).val();
    var url = AP_BASE_URL + "c412s/showLastYmd2/";
    var xmlhttp;
    //创建XMLHttpRequest 对象
    if (window.XMLHttpRequest){    // code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }else{    // code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    if(facilityId !=""&&mainteType !=""&&mainteWorkNm !=""){
        xmlhttp.open("POST",url,false);    //向服务器发送请求,false为同步(用户需要等待刷新完才能操作),true为异步(不需要等待,可以进行其他操作)
        xmlhttp.setRequestHeader("CONTENT-TYPE", "application/x-www-form-urlencoded");    //如果使用POST方式必须添加该行代码,向请求添加 HTTP 头
        xmlhttp.send("mainteTypeCd="+mainteType+"&mainteWorkId="+mainteWorkNm+"&facilityId="+facilityId);    //传参
        xmlhttp.onreadystatechange=function(){    //如果服务器状态改变触发事件
            if(xmlhttp.readyState==4 && xmlhttp.status==200){    //不懂查看下表,大意为在请求完成并且状态为OK时
                $(".info").html(xmlhttp.responseText);    //xmlhttp.responseText为服务器传回的值
            }
        };
    }else{
        $(".info").text("");
    }
属性 描述
onreadystatechange 存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。
readyState
存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。

  • 0: 请求未初始化
  • 1: 服务器连接已建立
  • 2: 请求已接收
  • 3: 请求处理中
  • 4: 请求已完成,且响应已就绪
status
200: "OK"

404: 未找到页面

后台Java代码取值

1 public String showLastYmd2(HttpServletRequest request HttpServletResponse response){
2     request.getParameter("facilityId");
3     request.getParameter("mainteTypeCd");
4     request.getParameter("mainteWorkId");
5     response.write("data");    //传回参数
6 }
时间: 2024-11-03 20:54:24

有关Ajax实现的两种方法的相关文章

ASP.NET MVC 实现AJAX跨域请求的两种方法

通常发送AJAX请求都是在本域内完成的,也就是向本域内的某个URL发送请求,完成部分页面的刷新.但有的时候需要向其它域发送AJAX请求,完成数据的加载,例如Google. 在ASP.NET MVC 框架里实现跨域的AJAX请求有几种方式可以实现,以下就介绍常用的两种方法. 1.     发送JSONP请求 客户端: JQuery对发送JSONP请求有很好的支持,客户端通过. ajax() 函数发送请求,其中需要制定 dataType 为“jsonp”  jsonpCallback 为指定的回调函

Ajax中解析Json的两种方法详解

eval();  //此方法不推荐 JSON.parse();  //推荐方法 一.两种方法的区别 我们先初始化一个json格式的对象: var jsonDate = '{ "name":"周星驰","age":23 }' var jsonObj = eval( '(' + jsonDate + ')' );  // eval();方法 var jsonObj = JSON.parse( jsonDate );  // JSON.parse();

静态化页面点击数实时的呈现的两种方法

静态化页面有时需要某一块“活起来”...在做新闻类项目时会碰到点击量排行,需要实时的进行显示, 以下是实现的两种方法: 第一种方法:通过AJAX实现:将数据提交给PHP文件经行处理,并将处理后的结果返回: $(function(){ $.ajax({ url:'{$smarty.const.BASE_URL}news/clickNews.php', data:'id={$arr.id}', success:function(re){ $("#showNewsTop").html(re)

C# web api 返回类型设置为json的两种方法

每次写博客,第一句话都是这样的:程序员很苦逼,除了会写程序,还得会写博客!当然,希望将来的一天,某位老板看到此博客,给你的程序员职工加点薪资吧!因为程序员的世界除了苦逼就是沉默.我眼中的程序员大多都不爱说话,默默承受着编程的巨大压力,除了技术上的交流外,他们不愿意也不擅长和别人交流,更不乐意任何人走进他们的内心! 悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来.我们都知道计算机技术发展日新月异,速度惊人的快,你我稍不留神,就会被慢慢淘汰!因此:每日不间断的

在下拉列表中显示多个字段的两种方法

首先,我们需要从数据库中取到我们的数据 Class1: 1 string sqlcon = "Data Source=.;Initial Catalog=Test;User ID=sa;Password=******"; 2 3 public List<ModelClass> FindAll() 4 { 5 try 6 { 7 List<ModelClass> modList = new List<ModelClass>(); 8 using (Sq

SpringMVC中controller返回json数据的两种方法

SpringMVC中controller返回json数据的两种方法 1.jsp的ajax请求: function getJson(){ $.ajax({ type:"get", dataType:"json", url:"<%=basePath %>getJson", success:function(data){ for(var i=0;i<jsonData.length;i++){ alert("Id:"

用easyui实现查询条件的后端传递并自动刷新表格的两种方法

用easyui实现查询条件的后端传递并自动刷新表格的两种方法 搜索框如下: 通过datagrid的load方法直接传递参数并自动刷新表格 通过ajax的post函数传递参数并通过loadData方法将数据初始化到表格中 js代码(搜索按钮的点击事件部分): $("#standardQueryBtn").click(function(){//点击搜索按钮的触发事件 if($("#offerid").val() != ""){//判断id搜索框的值是

一、查看Linux内核版本命令(两种方法):

一.查看Linux内核版本命令(两种方法): 1.cat /proc/version [[email protected]CentOS home]# cat /proc/versionLinux version 2.6.32-431.el6.x86_64 ([email protected]) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) ) #1 SMP Fri Nov 22 03:15:09 UTC 2013 2.uname -a [

利用颜色和形态学两种方法进行车牌区域提取的OpenCV代码

要想提取车牌号,首先你要定位车牌区域嘛,本文分别两种方法用,即颜色和形态学的方法,对车牌区域进行判定.说得是两种方法,其实两种方法并无多大的区别,只是有一步的判断标准不一样而已,你看了下面整理出的的思路就知道两者的区别真的很小了. 方法一:利用颜色提取车牌区域的思路: ①求得原图像的sobel边缘sobelMat ②在HSV空间内利用车牌颜色阈值对图像进行二值化处理,得到图像bw_blue→ ③由下面的判别标准得到图像bw_blue_edge for (int k = 1; k != heigh