`
huttoncs
  • 浏览: 200888 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

AJAX请求及json对象封装小demo

阅读更多
js中的ajax请求方法
function query(){
var stuName = $("#stuName").val();
var requestUrl = "/s2sh/student/query.action";
var currentPageIndex = $("span[class='currentPageIndex']").val();
var pageSize =$("input[class='pageSize']").val();
$.ajax( {
url :requestUrl,
type : 'post',
dataType:'json',
data: "stuName="+escape(escape(stuName))+"&currentPageIndex="+currentPageIndex+"&pageSize="+pageSize,
success : function(result){
  var stus = result.students;
  $("#stuBody").html("");
          for(var i=0;i<stus.length;i++){
     $("#stuBody").append("<tr><td>"+stus[i].stuName+"</td><td>"+stus[i].stuSex+"</td><td>"+
     stus[i].stuBir+"</td><td>"+stus[i].stuAdd+"</td><td><a href='#' onclick='editItem("+stus[i].stuId+");'"+
     ">修改</a>&nbsp;&nbsp;<a href='#' onclick='deleteItems("+stus[i].stuId+");' >删除</a></td></tr>");
  }
  $("span[class='totalCount']").html(result.totalCount);
  $("span[class='currentPageIndex']").html(result.currentPage).val(result.currentPage);
  $("span[class='totalPage']").html(result.totalPage).val(result.totalPage);
     },error:function(err){
        alert( '系统内部错误'+err);
         }
});

}


Action的接受及封装
public class StudentAction {
public  StudentService studentService;

private String stuName;

        public String getStuName() {
return stuName;
}

public void setStuName(String stuName) {
this.stuName = stuName;
}


        public StudentService getStudentService() {
return studentService;
}

public void setStudentService(StudentService studentService) {
this.studentService = studentService;
}

        public void query() {

HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();

String tempName = unescape(request.getParameter("stuName"));

               
               try {
                         

students=studentService.queryStuByName(tempName,currentPageIndex,pageSize);
response.setContentType("text/html;charset=UTF-8");
response.getWriter().print(getStudentListJSON(students));


} catch (Exception e) {
e.printStackTrace();
}

        }

     public String getStudentListJSON(List<Student> students)
{
StringBuffer retVal=new StringBuffer("{'students':[");
int i=0;
for(Student t:students){
if(i!=0)
{
retVal.append(",");
}
retVal.append("{");
retVal.append("\"stuId\":\""+t.getStuId()+"\"");
retVal.append(",\"stuName\":\""+t.getStuName()+"\"");
retVal.append(",\"stuSex\":\""+t.getStuSex()+"\"");
retVal.append(",\"stuBir\":\""+t.getStuBir()+"\"");
retVal.append(",\"stuAdd\":\""+t.getStuAdd()+"\"");
retVal.append("}");
i=i+1;
}
retVal.append("],\"totalPage\":\""+10+ "\"}");
return retVal.toString();
}

      
        @SuppressWarnings("unused")
private String unescape(String src) {
  StringBuffer tmp = new StringBuffer();
  tmp.ensureCapacity(src.length());
  int lastPos = 0, pos = 0;
  char ch;
  while (lastPos < src.length()) {
   pos = src.indexOf("%", lastPos);
   if (pos == lastPos) {
    if (src.charAt(pos + 1) == 'u') {
     ch = (char) Integer.parseInt(src
       .substring(pos + 2, pos + 6), 16);
     tmp.append(ch);
     lastPos = pos + 6;
    } else {
     ch = (char) Integer.parseInt(src
       .substring(pos + 1, pos + 3), 16);
     tmp.append(ch);
     lastPos = pos + 3;
    }
   } else {
    if (pos == -1) {
     tmp.append(src.substring(lastPos));
     lastPos = src.length();
    } else {
     tmp.append(src.substring(lastPos, pos));
     lastPos = pos;
    }
   }
  }

  return tmp.toString();

}

}
分享到:
评论
1 楼 bewithme 2013-03-18  
眼看楼主没人理会,我大发善心,特此回贴,以代表顶过楼主。

相关推荐

    Ajax_Json_jQuery详细Demo

    综上所述,"Ajax_Json_jQuery详细Demo"包含了一系列关于这三者如何协同工作的实例,对初学者来说是极好的学习资源。通过这些示例,你可以了解如何使用jQuery简化Ajax调用,以及如何处理JSON数据,从而更好地构建交互...

    ajax与php利用json传输数据,实现局部刷新

    5. **响应的处理**:Ajax请求成功后,会触发`onreadystatechange`事件,当状态变为4(表示请求已完成)且状态码为200(表示成功)时,可以读取`responseText`或`responseJSON`获取返回的JSON数据。 6. **DOM操作**...

    easyui+ajax+json+servlet实现用户登录注册简单demo

    3. Ajax将表单数据封装成JSON对象,并发送到服务器端的Servlet。 4. Servlet接收到请求后,解析JSON数据,执行验证逻辑。 5. 如果验证通过,Servlet返回一个表示成功的JSON响应;否则,返回包含错误信息的JSON响应。...

    html静态页JQuery ajax示例demo 源码

    在jQuery库中,AJAX功能被简化并封装成了易于使用的API。`$.ajax()`是jQuery提供的核心AJAX函数,它允许我们配置各种选项来定制请求,如URL、请求类型(GET或POST)、数据类型(JSON、XML、HTML等)以及请求成功或...

    jquery json cookie demo

    jQuery的核心特性包括选择器(用于高效地查找页面元素)、链式调用(允许连续执行多个操作)和封装Ajax请求等。在"jquery cookie demo"中,jQuery可能被用来轻松地读取、设置和删除Cookie。 接下来,JSON...

    jquery ajax Login Demo

    **jQuery AJAX 登录示例详解** 在Web开发中,AJAX(Asynchronous JavaScript and XML)是一种创建动态网页的技术,允许页面...同时,为了提高代码可维护性和扩展性,可以将AJAX请求和响应处理封装成独立的函数或模块。

    jQuery实现分页功能(含ajax请求、后台数据、附完整demo)

    - 这些文件分别承担了页面加载所需的基础库、数据模拟、数据请求模拟和分页逻辑封装的功能。 - `initTotalPageNum`变量模拟了从后台获取的总页数数据,用于初始化分页器。 6. **代码优缺点**: - 使用AJAX实现...

    JqGrid Demo json

    在这个Demo中,Struts2被用来处理前端请求并返回JSON数据。开发者需要创建一个Action类,该类包含了处理请求的方法,并使用Struts2的JSON插件将结果集转换为JSON格式响应给JqGrid。 为了实现这一功能,你需要在...

    简单ajax封装小工具

    这个“简单ajax封装小工具”可能是将常见的Ajax请求功能如GET、POST等进行了抽象和简化,方便开发者快速调用。通常,一个简单的Ajax封装可能包括以下组成部分: 1. **创建XMLHttpRequest对象**:这是Ajax的核心,...

    c3p0+dbUtils+Ajax+Json+Jquery实现【增删改查】Demo

    在Ajax请求中,Json常被用作数据传输的格式,因为它可以方便地在JavaScript对象和服务器之间转换。 5. **Jquery**:Jquery是一个快速、简洁的JavaScript库,它简化了HTML文档遍历、事件处理、动画以及Ajax交互。在...

    AjaxDemo欢迎新手下载

    在AjaxDemo中,收到数据后,可能需要使用JavaScript的JSON.parse()方法将JSON字符串转换为JavaScript对象进行操作。 4. DOM操作:Ajax更新页面内容时,通常需要操作DOM(Document Object Model)。通过JavaScript的...

    jquery ajax demo

    jQuery的$.ajax()方法提供了对AJAX的封装,使得开发者可以方便地发起AJAX请求。 ### 2. jQuery AJAX基本用法 `$.ajax()`函数接受一个包含各种选项的对象作为参数,用于配置AJAX请求。例如: ```javascript $.ajax...

    ajaxdemo.zip

    2. **JavaScript封装**:Ajax通常通过JavaScript函数来调用,创建XMLHttpRequest对象,然后使用这个对象的open()和send()方法发起HTTP请求。 3. **请求与响应**:open()方法接受三个参数,分别是HTTP请求类型(GET...

    AjaxDemo供学习

    1. **XMLHttpRequest对象**:Ajax的核心,用于在后台与服务器通信。 2. **jQuery的Ajax方法**:简化原生Ajax调用的库,如`$.ajax()`, `$.get()`, `$.post()`等。 3. **JSON数据格式**:Ajax传输数据的常见格式,轻量...

    AjaxDemo_javabean

    Servlet通过HttpServletResponse对象将数据以JSON、XML或其他格式返回,这些数据随后会在JavaScript中解析并更新页面。 **JavaBean的使用** 在Java后端,JavaBean是一种符合JavaBeans规范的类,常用于封装数据。在...

    ajax+jsp demo

    - **后端处理**:JSP接收到Ajax请求后,可以执行数据库查询、业务逻辑等操作,然后将结果封装成JSON或XML格式返回。 - **前端解析**:客户端JavaScript接收到响应后,解析JSON或XML数据,然后利用DOM API更新页面...

    ajax 非经经典的demo

    5. **jQuery和其他库的Ajax封装** - jQuery的`$.ajax()`、`$.get()`、`$.post()`等函数简化了Ajax操作,提供了更友好的API。 - Axios、Fetch API等现代库提供了Promise支持,使异步编程更加优雅。 6. **注意事项*...

    jquery,ajax的几个小例子

    然后,前端通过$.ajax()或$.get()发送请求,获取并解析返回的JSON数据。 **四、级联选择和自动补全** 级联选择是指在一个下拉框的选择会影响到另一个下拉框的选项。这可以通过监听第一个下拉框的change事件,然后...

    jQuery+ajax实现动态添加表格tr td功能示例

    通常,这涉及到两个主要步骤:发送ajax请求到服务器获取数据,然后将返回的数据动态添加到表格中。 ##### 2.1 前端HTML结构 首先,我们需要在HTML页面中创建一个空的表格结构,并为用户交互提供入口点,比如一个...

    JSP应用开发详解第三版 源代码 ch22-ch24ajaxdemo.rar

    5. **JSON数据交换格式**:虽然名字中包含XML,但现代AJAX应用更倾向于使用JSON(JavaScript Object Notation),因为JSON与JavaScript语法兼容,数据序列化和反序列化更为便捷。 6. **Servlet或JSP处理请求**:在...

Global site tag (gtag.js) - Google Analytics