jq封装的ajax,然后 在此前和此后都是很多要考虑的  ,何不 想想构思封装下。

下面:

  基本上网页都存在各种ajax,使得网页变得更加易于操作。

举个长长的例子吧:

  

<input  type="button" value="↑" onclick="changeBidSign('netcreditadmin/bidSignDownA.action',${bidlists.bidId},'UP')">

这是一个向上的按钮--js方法,

changeBidSign(action,id,status);status存在,使得此方法同样可以运用到 Down Left  之类

下面介绍js,整体构思:

admin:是我写 具体复杂的操作的js方法

ajax——common

  ajaxfun:写上简单的ajax提交类似:

  

/**
* 简单的form表单提交
*/
function simpleSub(formId, callbackFun){
//var DivRef = document.getElementById("Loader");
var options = {
dataType: 'json',
// beforeSubmit: function(){
// //提交开始前使按钮不可用
// $("#"+buttonId).attr("disabled", "true");
// DivRef.style.display = "block";
// },
success: callbackFun //此方法封装在callbackfun.js
};
$("#"+formId).ajaxSubmit(options);
return false;
}

  callbackfun.js: 写在response回调函数

 进程的分析如下:
  前台ajax交互,无非是data不同,要么前面逻辑处理。 所以 分3部分
 1. data  和 逻辑处理  写在同一个js里面。
 2. ajax基本共用,
 3. 回调函数兴许,有时候 div 等局部刷新。所以这里callbackFun 一个远不够。这里归一类。
data 和 逻辑:
  
function batchDelete(checkboxName, delTagAction, listTagAction, rel){
var ids=new Array();
if($("input[name="+checkboxName+"]:checked").size()==0){
alertMsg.warn("请至少选择一条需要删除的数据!");
return false;
}
$("input[name="+checkboxName+"]:checked").each(function(i,obj){
ids[i]=$(obj).val();
});
var idStr=ids.join("-");
//alert(idStr);
if (confirm("删除的数据将放入回收站,确定继续")) {       dialogAjaxSimple(delTagAction,idStr);
    }else{ return false; 
  }
}
 
ajax基本共用:
function dialogAjaxSimple(tagAction,idStr){
$.ajax({
url:tagAction,
data:{
sendTime:(new Date()).getTime(),
idStr:idStr
},
type:"post",
async:false,
dataType:"json",
success:reponse
});
}
回调函数兴许,有时候 div 等局部刷新:
//tab页面的ajax回调
function response(data){
if(data.success == true){
alertMsg.correct(data.msg);
var $box = $("#"+data.rel+"");
$box.ajaxUrl({
type:"POST", url:data.url, data: null, callback:function(){
$box.find("[layoutH]").layoutH();
}
});
}else{
alertMsg.error(data.reason);
}
}
在后台,我想说的也有:
  两个文件,一个是类,一个是reponse后的页面。
类先说吧:
  
clientResponse = successResponse("操作成功",
"netcreditadmin/getbidListA.action", "bidId");

这个是我 getset的字符串clientResponse。

  

···/**
* ajax返回的json对象
* */
protected String failResponse(String reason) {
String response = "{\"success\": false, \"reason\":\"" + reason + "\"}";
return response;
} protected String successResponse(String msg, String url, String rel) {
String response = "{\"success\": true,\"msg\":\"" + msg
+ "\",\"url\":\"" + url + "\",\"rel\":\"" + rel + "\"}";
return response;
}
先看配置文件吧:
  
    <action name="bidSignDownA" class="xidian.sl.netcredit.action.admin.BasicDataA"
method="bidSignDownA_">
<result name="success">/WEB-INF/ajax_response/client.jsp</result>
</action>
ajax_response/client.jsp:
  
<%@ taglib prefix="s" uri="/struts-tags"%>
<% response.setCharacterEncoding("UTF-8"); %>
<% System.out.println(response);%>
<s:property value="clientResponse" escape="false"/>

到这里终于 全部过程讲了一遍。适合学过jq的人。

这封装不单单这一种,但是我想说,这慢慢改 慢慢改都会可以的。java之路皆美也,共同开发。

学jq,js 学java 必须带这脑子学。做这个必须让自己,问自己为什么做这个。

加油!!!

 

jq的ajax交互封装的更多相关文章

  1. JQ中的Ajax的封装

    1.认识JQ中ajax的封装      jQ 对于ajax的封装有两层实现:$.ajax 为底层封装实现:基于 $.ajax ,分别实现了$.get 与$.post 的高层封装实现: 2.Ajax的底 ...

  2. ajax的封装——jq简化版

    最近在复习ajax的知识,练习了下ajax的封装,此处做下笔记 废话不多说,直接代码 //发请求 //此处的url为请求地址,type为请求方式,success为请求成功的回调函数 myaxios({ ...

  3. 原生态AJAX详解和jquery对AJAX的封装

    AJAX: A :Asynchronous [eI`sinkrenes] 异步 J :JavaScript    JavaScript脚本语言 A: And X :XML 可扩展标记语言 AJAX现在 ...

  4. 关于jQ的Ajax操作

    jQ的Ajax操作 什么是AJAX AJAX = 异步的javascript和XML(Asynchronous Javascript and XML) 它不是一门编程语言,而是利用JavaScript ...

  5. jQuery-实现简单的Ajax请求封装

    封装的意义在于复用,在于减少重复的代码. 我在项目中做了简单的Ajax请求封装,实现方式如下: //封装Ajax请求 $.extend({ ajaxDirect:function(url,type,d ...

  6. jq的ajax方法

    相较与js异步对象的繁琐,jq的ajax对象结构更加清晰 一:ajax对象简述 ajax(Asynchronous JavaScript and XML),异步的xml和js对象,主要用于在不刷新全局 ...

  7. ThinkPHP中使用ajaxReturn进行ajax交互

    以管理员登录为例来介绍下$this->ajaxReturn与模板页进行ajax交互使用方法 首先看PHP控制器的处理,在application/Admin/Controller/LoginCon ...

  8. struts2 的验证框架validation如何返回json数据 以方便ajax交互

    struts2 的验证框架validation简单,好用,但是input只能输出到jsp页面通过struts2的标签<s:fielderror  />才能取出,(EL应该也可以). 如果使 ...

  9. struts2中使用json插件实现ajax交互

    json插件可以简单的实现ajax交互,避免了使用struts2-dojo-plugin.jar包时带来的struts2.x版本冲突问题.并且减少了使用ajax标签时需要的繁琐的配置包括web.xml ...

随机推荐

  1. MySQL往表里插入千条数据 存储过程

    工作中遇到的问题,先记录一下,方便以后查看 存在两张表,user表和friend表 user表部分字段,如上图 friend表部分字段,如上图 往friend表插入千条数据,friend表中的user ...

  2. pytbull 手册

    - Official documentation for pytbull v2.1 - Table of content Description Architecture Remote mode Lo ...

  3. 选择困难症的福音——团队Scrum冲刺阶段-Day 2

    选择困难症的福音--团队Scrum冲刺阶段-Day 2 今日进展 编写提问部分 如何将不同的问题选项连接到不同的下一个问题 如何保证问题的链接不会弄丢 登陆注册界面 完成密码可见与不可见的更改 ui界 ...

  4. POJ 1741.Tree 树分治 树形dp 树上点对

    Tree Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 24258   Accepted: 8062 Description ...

  5. POJ 1655.Balancing Act 树形dp 树的重心

    Balancing Act Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 14550   Accepted: 6173 De ...

  6. 深入理解JVM(一)编译openJDK

    此文总结的很不错:https://www.cnblogs.com/ACFLOOD/p/5528035.html 准备openJDK源码和环境 1.在linux和macOS上编译openJDK更加友好, ...

  7. 【Selenium】【BugList2】geckodriver未安装,报:WebDriverException: Message: 'geckodriver' executable needs to be in PATH.

    环境信息:Windows7 64位 + python 3.6.5 + selenium 3.11.0 +pyCharm #coding=utf-8 from selenium import webdr ...

  8. Python12/11--盒子的显隐/布局/z-index/流式布局思想

    1.盒子的显隐 display:none      在页面中不占位,采用定位布局后,显示隐藏都不会影响其他标签,不需要用动画处理时,一般用这个 opacoity : 0        在页面中占位,采 ...

  9. k-th smallest 问题总结

    k-th smallest/biggest 问题大约有这几道: 373. Find K Pairs with Smallest Sums 从两个list里各取一个数求和,求所有可能的sum里第k小的 ...

  10. JavaWeb环境搭建(作业八)

    1.JDK下载配置: (1)在官网下载jdk. (2)安装jdk.双击下载好的jdk,中间会选两次安装路径,一次是装jdk,一次是装jre.记住安装的路径. (3)配置环境变量. 1.在我的电脑右键属 ...