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))+"¤tPageIndex="+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> <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();
}
}
分享到:
相关推荐
综上所述,"Ajax_Json_jQuery详细Demo"包含了一系列关于这三者如何协同工作的实例,对初学者来说是极好的学习资源。通过这些示例,你可以了解如何使用jQuery简化Ajax调用,以及如何处理JSON数据,从而更好地构建交互...
5. **响应的处理**:Ajax请求成功后,会触发`onreadystatechange`事件,当状态变为4(表示请求已完成)且状态码为200(表示成功)时,可以读取`responseText`或`responseJSON`获取返回的JSON数据。 6. **DOM操作**...
3. Ajax将表单数据封装成JSON对象,并发送到服务器端的Servlet。 4. Servlet接收到请求后,解析JSON数据,执行验证逻辑。 5. 如果验证通过,Servlet返回一个表示成功的JSON响应;否则,返回包含错误信息的JSON响应。...
在jQuery库中,AJAX功能被简化并封装成了易于使用的API。`$.ajax()`是jQuery提供的核心AJAX函数,它允许我们配置各种选项来定制请求,如URL、请求类型(GET或POST)、数据类型(JSON、XML、HTML等)以及请求成功或...
jQuery的核心特性包括选择器(用于高效地查找页面元素)、链式调用(允许连续执行多个操作)和封装Ajax请求等。在"jquery cookie demo"中,jQuery可能被用来轻松地读取、设置和删除Cookie。 接下来,JSON...
**jQuery AJAX 登录示例详解** 在Web开发中,AJAX(Asynchronous JavaScript and XML)是一种创建动态网页的技术,允许页面...同时,为了提高代码可维护性和扩展性,可以将AJAX请求和响应处理封装成独立的函数或模块。
- 这些文件分别承担了页面加载所需的基础库、数据模拟、数据请求模拟和分页逻辑封装的功能。 - `initTotalPageNum`变量模拟了从后台获取的总页数数据,用于初始化分页器。 6. **代码优缺点**: - 使用AJAX实现...
在这个Demo中,Struts2被用来处理前端请求并返回JSON数据。开发者需要创建一个Action类,该类包含了处理请求的方法,并使用Struts2的JSON插件将结果集转换为JSON格式响应给JqGrid。 为了实现这一功能,你需要在...
这个“简单ajax封装小工具”可能是将常见的Ajax请求功能如GET、POST等进行了抽象和简化,方便开发者快速调用。通常,一个简单的Ajax封装可能包括以下组成部分: 1. **创建XMLHttpRequest对象**:这是Ajax的核心,...
在Ajax请求中,Json常被用作数据传输的格式,因为它可以方便地在JavaScript对象和服务器之间转换。 5. **Jquery**:Jquery是一个快速、简洁的JavaScript库,它简化了HTML文档遍历、事件处理、动画以及Ajax交互。在...
在AjaxDemo中,收到数据后,可能需要使用JavaScript的JSON.parse()方法将JSON字符串转换为JavaScript对象进行操作。 4. DOM操作:Ajax更新页面内容时,通常需要操作DOM(Document Object Model)。通过JavaScript的...
jQuery的$.ajax()方法提供了对AJAX的封装,使得开发者可以方便地发起AJAX请求。 ### 2. jQuery AJAX基本用法 `$.ajax()`函数接受一个包含各种选项的对象作为参数,用于配置AJAX请求。例如: ```javascript $.ajax...
2. **JavaScript封装**:Ajax通常通过JavaScript函数来调用,创建XMLHttpRequest对象,然后使用这个对象的open()和send()方法发起HTTP请求。 3. **请求与响应**:open()方法接受三个参数,分别是HTTP请求类型(GET...
1. **XMLHttpRequest对象**:Ajax的核心,用于在后台与服务器通信。 2. **jQuery的Ajax方法**:简化原生Ajax调用的库,如`$.ajax()`, `$.get()`, `$.post()`等。 3. **JSON数据格式**:Ajax传输数据的常见格式,轻量...
Servlet通过HttpServletResponse对象将数据以JSON、XML或其他格式返回,这些数据随后会在JavaScript中解析并更新页面。 **JavaBean的使用** 在Java后端,JavaBean是一种符合JavaBeans规范的类,常用于封装数据。在...
- **后端处理**:JSP接收到Ajax请求后,可以执行数据库查询、业务逻辑等操作,然后将结果封装成JSON或XML格式返回。 - **前端解析**:客户端JavaScript接收到响应后,解析JSON或XML数据,然后利用DOM API更新页面...
5. **jQuery和其他库的Ajax封装** - jQuery的`$.ajax()`、`$.get()`、`$.post()`等函数简化了Ajax操作,提供了更友好的API。 - Axios、Fetch API等现代库提供了Promise支持,使异步编程更加优雅。 6. **注意事项*...
然后,前端通过$.ajax()或$.get()发送请求,获取并解析返回的JSON数据。 **四、级联选择和自动补全** 级联选择是指在一个下拉框的选择会影响到另一个下拉框的选项。这可以通过监听第一个下拉框的change事件,然后...
通常,这涉及到两个主要步骤:发送ajax请求到服务器获取数据,然后将返回的数据动态添加到表格中。 ##### 2.1 前端HTML结构 首先,我们需要在HTML页面中创建一个空的表格结构,并为用户交互提供入口点,比如一个...
5. **JSON数据交换格式**:虽然名字中包含XML,但现代AJAX应用更倾向于使用JSON(JavaScript Object Notation),因为JSON与JavaScript语法兼容,数据序列化和反序列化更为便捷。 6. **Servlet或JSP处理请求**:在...