jq的ajax交互封装

简介:

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提交类似:

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/**
  * 简单的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 必须带这脑子学。做这个必须让自己,问自己为什么做这个。

加油!!!

相关文章
|
8月前
|
前端开发 JavaScript Java
使用Ajax进行异步交互:提升Java Web应用的用户体验
【4月更文挑战第3天】Ajax技术在Web开发中提升UX,通过与服务器异步交互实现页面局部更新,无需完整刷新。核心组件包括XMLHttpRequest、JavaScript、HTML/CSS及服务器端脚本。在Java Web应用中,可使用原生JavaScript或框架如jQuery、AngularJS实现Ajax请求。Ajax减少页面刷新,实现实时数据更新,即时表单验证和动态UI,显著改善用户体验,是现代Web开发不可或缺的一部分。
102 0
|
8月前
|
前端开发 JavaScript API
Ajax技术的秘密揭秘:异步传输,高效交互
Ajax技术的秘密揭秘:异步传输,高效交互
|
4月前
|
前端开发 API UED
Python后端与前端交互新纪元:AJAX、Fetch API联手,打造极致用户体验!
Python后端与前端交互新纪元:AJAX、Fetch API联手,打造极致用户体验!
128 2
|
2月前
|
XML 前端开发 JavaScript
PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑
本文深入探讨了PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑;Ajax则通过异步请求实现页面无刷新更新。文中详细介绍了两者的工作原理、数据传输格式选择、具体实现方法及实际应用案例,如实时数据更新、表单验证与提交、动态加载内容等。同时,针对跨域问题、数据安全与性能优化提出了建议。总结指出,PHP与Ajax的结合能显著提升Web应用的效率和用户体验。
60 3
|
2月前
|
前端开发 API 开发者
Python Web开发者必看!AJAX、Fetch API实战技巧,让前后端交互如丝般顺滑!
在Web开发中,前后端的高效交互是提升用户体验的关键。本文通过一个基于Flask框架的博客系统实战案例,详细介绍了如何使用AJAX和Fetch API实现不刷新页面查看评论的功能。从后端路由设置到前端请求处理,全面展示了这两种技术的应用技巧,帮助Python Web开发者提升项目质量和开发效率。
60 1
|
3月前
|
前端开发 API 开发者
从零到精通,AJAX与Fetch API让你的Python Web前后端交互无所不能!
从零到精通,AJAX与Fetch API让你的Python Web前后端交互无所不能!
52 3
|
8月前
|
XML 前端开发 JavaScript
使用 AJAX 提升网页数据的动态交互
使用 AJAX 提升网页数据的动态交互
|
5月前
|
XML 存储 前端开发
后端程序员的前后端交互核心-Ajax
后端程序员的前后端交互核心-Ajax
66 6
后端程序员的前后端交互核心-Ajax
|
5月前
|
前端开发 JavaScript Java
Ajax进行异步交互:提升Java Web应用的用户体验
Ajax 技术允许在不重载整个页面的情况下与服务器异步交换数据,通过局部更新页面内容,极大提升了 Java Web 应用的响应速度和用户体验。本文介绍 Ajax 的基本原理及其实现方式,包括使用 XMLHttpRequest 对象发送请求、处理响应数据,并在 Java Web 应用中集成 Ajax。此外,还探讨了 Ajax 如何通过减少页面刷新、实时数据更新等功能改善用户体验。
87 3
|
5月前
|
XML JSON 前端开发
JSON与AJAX:网页交互的利器
JSON与AJAX:网页交互的利器
44 0