前端技术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("(?:T|Z)"," "));
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);

 主要方法一般写在success中,从后台获取的数据一般是这样传过来的: 

 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的小结。

   PS:本博客欢迎转发,但请注明博客地址及作者~

  博客地址:http://www.cnblogs.com/voidy/

  <。)#)))≦

前端技术Jquery与Ajax使用总结的更多相关文章

  1. 前端-jQuery的ajax方法

    https://www.cnblogs.com/majj/p/9134922.html 0.什么是ajax AJAX = 异步的javascript和XML(Asynchronous Javascri ...

  2. AJAX的学习与使用>前端技术系列

    目录 AJAX的学习与使用 什么是AJAX 为什么要使用AJAX AJAX接收服务器响应数据的3种格式 文本格式(重要) JSON格式(重要) 服务器端响应实体类JSON格式的3种方式 修改实体类的t ...

  3. JS原生Ajax&Jquery的Ajax技术&Json

    1.介绍Ajax Ajax = 异步 JavaScript 和 XML Ajax是一种创建快速动态网页的技术 通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新.这意味着可以不用整个 ...

  4. 前端 ---- jQuery的ajax

    14-jQuery的ajax   什么是ajax AJAX = 异步的javascript和XML(Asynchronous Javascript and XML) 简言之,在不重载整个网页的情况下, ...

  5. Web前端学习笔记之JavaScript、jQuery、AJAX、JSON的区别

    官网的英文解释: javascript和jQuery有点关系,js是一种脚本语言,主要用于客户端,现在主要用于实现一些网页效果. jquery是js的一个库,你可以认为是对js的补充,提供了很多方便易 ...

  6. JQuery前端技术记录

    [Jquery-leearning notes-2015]by lijun 1   Jquery是javascript实现的库,目标在于改变web应用的高交互性的方式. 其不唐突性:样式(.css). ...

  7. Django(二十)下拉列表-省市联动实例:jquery的ajax处理前端

    一.知识点 1.jquery的ajax请求写法 <script src="/static/js/jquery-1.12.4.min.js"></script> ...

  8. 对jquery的ajax进行二次封装

    第一种方法: $(function(){ /** * ajax封装 * url 发送请求的地址 * data 发送到服务器的数据,数组存储,如:{"username": " ...

  9. HTML5学堂 全新的HTML5/前端技术分享平台

    HTML5学堂 全新的HTML5/前端技术分享平台 HTML5学堂是做什么的? HTML5学堂~http://www.h5course.com~由多名热爱H5的讲师们组成的一个组织.致力于构建一个前端 ...

随机推荐

  1. POJ 2342 树的最大独立集

    题意:在树的最大独立集的基础上,加上权值.求最大. 分析: 采用刷表的方式写记忆化,考虑一个点选和不选,返回方式pair 型. 首先,无根树转有根树,dp(root). 注意的是:u不选,那么他的子节 ...

  2. 再回首数据结构—AVL树(一)

    前面所讲的二叉搜索树有个比较严重致命的问题就是极端情况下当数据以排序好的顺序创建搜索树此时二叉搜索树将退化为链表结构因此性能也大幅度下降,因此为了解决此问题我们下面要介绍的与二叉搜索树非常类似的结构就 ...

  3. 【luogu P2169 正则表达式】 题解

    题目链接:https://www.luogu.org/problemnew/show/P2169 tarjan缩点 + SPFA 缩完点之后加边注意别写错. 也可以不用建两个图,可以在一张图上判断是否 ...

  4. 【luogu P1144 最短路计数】 题解

    题目链接:https://www.luogu.org/problemnew/show/P1144 #include <iostream> #include <cstdio> # ...

  5. 【luogu P1536 村村通】 题解

    题目链接:https://www.luogu.org/problemnew/show/P1536 并查集的运用,可以用生成树的思想,就是n个点生成一棵树需要n-1条边.这样我们先把已有的路连接到一个并 ...

  6. 史上最简单的SpringCloud教程 | 第四篇:断路器(Hystrix)(Finchley版本)

    转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springcloud/2018/08/30/sc-f4-hystrix/ 本文出自方志朋的博客 在微服务架构中, ...

  7. java8新特性学习2

    六.Stream API Java8中有两大最为重要的改变.第一个是 Lambda 表达式:另外一个则是 Stream API(java.util.stream.*).Stream 是 Java8 中 ...

  8. RPAD()和LPAD()函数进行字符串的填充

    RPAD()函数从右边对字符串使用指定的字符进行填充. 格式:RPAD(string,padded_length,[pad_string]) string 表示:被填充的字符串. padded_len ...

  9. iOS 崩溃日志分析(个人总结,最实用)

    iOS 崩溃日志分析(个人总结,最实用) 要分析奔溃日志需要三个文件:crash日志,symbolicatecrash分析工具,.dSYM符号集 0. 在桌面创建一个crash文件夹 1. 需要Xco ...

  10. Webpack Tapable原理详解

    directory - src - sim ---- 简单的模拟实现 - /.js$/ ---- 使用 代码已上传github, 地址 Detailed Webpack 就像一条生产线, 要经过一系列 ...