Jquery与Ajax使用总结

  虽然主要是做的后端,但是由于有些时候也要写写前台的界面,因此也就学习了下Jquery和Ajax的一些知识,虽说此次写的这些对于前端大神来说有些班门弄斧的感觉,但是为了加深自己的记忆,还是总结一下下,有什么不对的地方欢迎大家指出~

准备工作

  由于我是使用的bootstrap,所以有些操作也是基于它来进行的,比如说模态框什么的,有关bootstrap的相关知识可以到这里去学习。然后这个项目用的是Struts框架。好了,基本情况就是酱紫了。

  1. 将jquery的包以及bootstrp的包导入进来。
  2. 在jsp页面进行引入。

  就像这样子:

<script src="js/bootstrap.min.js"></script>
<script src="js/main.js"></script>
<script src="js/html5shiv.js"></script>
<script src="js/respond.js"></script>
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/main.css" rel="stylesheet">
<script src="js/jquery-1.11.1.min.js"></script>

 

使用技巧之后台数据在前台显示

首先是使用s标签库把后台的数据在前台的jsp页面进行显示的操作,后台进行的操作就是实例化一个对象,然后将这个对象存在一个list表中。下面是其中的部分代码:

VmManage vmManage = new VmManage();进行实例化。然后:

 vmManage.setHostName(server.getHost());
 vmManage.setCreatTime(server.getCreated().toString().replaceAll("(?:TZ)"," "));
 vmList.add(vmManage);

   其中vmManage是一个对象,至于vmList,

 private List<VmManage> vmList = new ArrayList<VmManage>();

   当然,必须要有get和set方法,不然前台是无法接收到的。然后前台就可以像下面这样子获得数据,并进行显示:

 <s:iterator value="vmList" var="vm" >
 <td><s:property value="#vm.hostName" /></td>
 <td><s:property value="#vm.creatTime" /></td>
 </s:iterator>

PS:显示时定义别名,也就是var,然后用s标签,value中要用“#”进行数据的读,这样就可以让后台数据在前台进行显示了。

 使用技巧之获取当前行显示在模态框中

操作数据库最多的操作就是CRUD,也就是增删改查,而数据获取后自然要有修改的选项,点击修改按钮,将这一行的数据全部获取然后显示在模态框中是很基本的操作了,这个时候可以利用一些属性将刚刚从后台获取的值放进去,比如,这样做:

 <a href="#" class="migrate" rel='${vm }'>

    注意:这个时候的值需要用$来获取。

然后这下就可以用Jquery来获取刚刚传来的值,方式如下:

 $(".migrate").click(
          function() {
                var vm = $(this).attr('rel');
                obj = JSON.parse(vm);

   由于这样获取的是JSON类型的值,所以需要进行一下解析,然后obj和上面的vm类似,此时,obj.hostName就是前面部分的#vm.hostName。

上面的仅仅是其中一个方法,还有一个方法也可以实现,而且是从后台直接取来的数据,不用放在jsp的body里面,在<script language="javascript">标签里面就可以使用了,具体方法如下:

 <script language="javascript">
  var array = new Array();
 <s:iterator value="hostList" id="item">
  array.push("<s:property value="#item.name" />");
  </s:iterator>
 </script>

   这个是将一个hostList的列表的name存在一个数组中,注意:在这里不要用别名,也就是var,要用id来代替之前的var,但是效果是等同的,然后可以将其动态加入到select选项中去: 

 <td><select class="input-group-lg form-control"name="vmManage.hostName" id="dhost">
  </select></td>

    具体添加方法如下: 

 for (var i = 0; i < array.length; i++) {
    if (array[i] != obj.hostName) {
      $("#dhost").append("<option>"+ array[i]+ "</option>");
      }
 
   }

 使用技巧之Ajax小结

有关Jquery的知识总结就到这里,接下来是Ajax的相关知识,主要实现的是动态的从后台获取值,并进行页面不刷新的更新,时间是5s获取一次值并进行一次刷新,基本的Ajax是这样写的:  

self.setInterval(
         function() {
        $.ajax({
             url : "vmmanage_getVMStatus.action",
             type : 'post',
             timeout : 15000,
             beforeSend : function(
                 XMLHttpRequest) {},
                 success : function(result) {
                 },
                 complete : function(
                     XMLHttpRequest,
                     textStatus) {
                 },
                 error : function(
                    XMLHttpRequest,
                    textStatus,
                    errorThrown) {

                            }
                        });
                    }, 5000);

 ServletActionContext.getResponse().getWriter().print(vmList);

  然后在前台的Ajax中通过result进行接收,接收后照常是JSON格式,不要忘了进行解析一下,然后就是进行表格中需要更新的字段的定位了,我用的方法是通过ID进行定位,也就是在table的tr中将值设为id,这样可以保证值的唯一性,不会定位错误导致更改所有的行,然后通过

 var s = document.getElementById(obj[o].id).cells[5];

获取那一行的值,再用cells获取那一行中要修改的列,接下来就是值的动态更新了,将当前字段用从后台的字段取代即可,我是这样做的:

 s.innerHTML = sta

sta即为从result中获取的后台传过来的值。

以上便是对于近期使用的Jquery和Ajax的小结。

时间: 2024-10-02 01:11:24

Jquery与Ajax使用总结的相关文章

基于jQuery的ajax对WebApi和OData的封装

WebApi 的使用带来了一个显著的特点,对type有一定的要求.一般ajax的type无非就是两种,GET和POST.如果用JSONP来跨域的话,就只能用 GET.但是现在WebApi来了,type的类型增加了一倍还要多.这个虽说问题不大,就是多个put.delete,看看要求掌握一下就可以了.但是 我觉得,这个总是要有个过程,另外写代码的时候还要想想是put还是post,万一写错了,就会带来不必要的麻烦.那么能不能封装一下呢? jQuery的ajax使用其实已经很简单了,但是还是需要设置几个

从零开始学习jQuery (六) AJAX快餐

一.摘要 本系列文章将带您进入jQuery的精彩世界,其中有很多作者具体的使用经验和解决方案,即使你会使用jQuery也能在阅读中发现些许秘籍. 本篇文章讲解如何使用jQuery方便快捷的实现Ajax功能.统一所有开发人员使用Ajax的方式. 二.前言 Ajax让用户页面丰富起来,增强了用户体验. 使用Ajax是所有Web开发的必修课. 虽然Ajax技术并不复杂,但是实现方式还是会因为每个开发人员的而有所差异.jQuery提供了一系列Ajax函数来帮助我们统一这种差异,并且让调用Ajax更加简单

使用jQuery,第3部分:用jQuery和Ajax构建富Internet应用程序

本文配套源码 简介 最近这几个月以来,JQuery 受欢迎的指数迅速攀升,现已成为 Web 开发人员首选的 JavaScript 库.与此同时,人们对富 Internet 应用程序(Rich Internet Application,RIA)的应用和需求也在迅速增长,并期待用基于浏览器的应用程序代替桌面应用程序.无论是电子表格,还是薪水册和电子邮件应用程序,现在都在浏览器中再现了类似于桌面的体验.随着这些应用程序数量的增多和功能的日益复杂,JavaScript 库将会变得越来越重要,因为它是构建

jQuery结合AJAX之在页面滚动时从服务器加载数据

  这篇文章主要介绍了jQuery结合AJAX之在页面滚动时从服务器加载数据,文中示例服务器端为C#程序,需要的朋友可以参考下 简介 文本将演示怎么在滚动滚动条时从服务器端下载数据.用AJAX技术从服务器端加载数据有助于改善任何web应用的性能表现,因为在打开页面时,只有一屏的数据从服务器端加载了,需要更多的数据时,可以随着用户滚动滚动条再从服务器端加载. 背景 是Facebook促使我写出了在滚动条滚动时再从服务器加载数据的代码.浏览facebook时,我很惊讶的发现当我滚动页面时,新的来自服

jQuery取消ajax请求的方法

 本文实例讲述了jQuery取消ajax请求的方法.分享给大家供大家参考.具体分析如下: 这里需要注意的是,在ajax请求未响应之前可以用xhr.abort()取消,但如果请求已经到达了服务器端,这样做的结果仅仅是让浏览器不再监听这个请求的响应,但服务器端仍然会进行处理 1 2 3 4 5 6 7 8 9 10 11 var xhr = $.ajax({ type: "POST", url: "test.php", data: "name=test&quo

jQuery结合ajax实现动态加载文本内容

  本文实例讲述了jquery通过ajax加载一段文本内容的方法.分享给大家供大家参考.这是一个简单的例子,注意编码问题,否则可能会出现乱码. ajax() 方法通过 HTTP 请求加载远程数据. 该方法是 jQuery 底层 AJAX 实现.简单易用的高层实现见 $.get, $.post 等.$.ajax() 返回其创建的 XMLHttpRequest 对象.大多数情况下你无需直接操作该函数,除非你需要操作不常用的选项,以获得更多的灵活性. 最简单的情况下,$.ajax() 可以不带任何参数

利用jquery的ajax实现二级联互动菜单

       二级联互动菜单,利用了jquery的ajax实现,具体实现如下,喜欢的朋友可以参考下        菜单资源保存在数据库中.利用了jquery的ajax实现.用到的包有:json-lib-2.2.3-jdk15.jar ezmorph-1.0.6.jar json.js jquery.js    jsp页面的代码:  代码如下: <%@ page contentType="text/html; charset=gbk"%>  <%@ taglib pre

jQuery通过Ajax返回JSON数据

  jQuery通过Ajax返回JSON数据          最近在使用JQuery的ajax方法时,要求返回的数据为json数据,在处理的过程中遇到下面的几个问题,那就是采用不同的方式来生成json数据的时候,在$.ajax方法中应该是如何来处理的,下面依次来进行说明. 服务端PHP读取MYSQL数据,并转换成JSON数据,传递给前端Javascript,并操作JSON数据.本文将通过实例演示了jQuery通过Ajax向PHP服务端发送请求并返回JSON数据. JSON(JavaScript

jquery对ajax的支持性

 本文为大家介绍下jquery对ajax的支持性,感兴趣的朋友可以了解下 1.三个方法    1.1.load方法    //作用:将服务器返回的数据直接添加到符合要求的dom对象上  //相当于 obj.innerHTML = 服务器返回的数据    用法:  $obj.load(url,[请求参数]);    url : 请求地址  请求参数 :  第一种形式:请求字符串,比如: 'username=zs&age=22'  第二种形式:对象,比如 {'username':'zs','age'