Ajax提交分页请求,实现异步刷新效果(1)

一、使用JsonArray传递

java代码

@RequestMapping(value="/myphotopage")
public  HttpEntity<JSONArray> myphoto2(int pageNum,HttpSession session,HttpServletResponse resp) throws Exception{
UserInfo user=(UserInfo) session.getAttribute("user");
JSONObject json=new JSONObject();
JSONArray jsonArray=new JSONArray();
if(user!=null){
// 定义的总记录数
int dataCount = 0;
// 定义当前页
//  pageNum = 1;
// 定义总页数
int pageCount = 0;
// 定义每页显示条数
int pageSize = 6;
// 开始索引
int startIndex = 0;
dataCount=photoService.countPhotoByUserid(user.getUserid());
if(dataCount%pageSize == 0){
pageCount = dataCount/pageSize;
}else {
pageCount = dataCount/pageSize + 1;
}
if(pageNum!=0){
startIndex = (pageNum-1)*pageSize;
}
List<Photo> photos=photoService.getPhotoByPageNumAndUserid(user.getUserid(), startIndex);
json.put("dataCount", dataCount);
json.put("pageNum", pageNum);
json.put("pageCount", pageCount);
jsonArray.add(photos);
jsonArray.add(json);
}else{
resp.sendRedirect("templates/login.jsp");
}
HttpEntity<JSONArray> httpEntity=new HttpEntity<JSONArray>(jsonArray);
return httpEntity;
}

jsp代码

function showpage(pageNum) {
$.ajax({
url : "/shoots/myphotopage.do?pageNum=" + pageNum,
type : "get",
dataType : "json",
success : function(data) {
var objs = eval(data);
//取出回送的数据
//list代表后台发送回来的集合。
//info中封装了一些其他信息。
var list = objs[0];
var info = objs[1];
var page = "";
var result = "";
result = "<table class=‘table‘><thead>";
result += "<tr><th>图片编号</th><th>图片类型</th><th>上传时间</th><th>收藏数量</th><th style=‘width: 26px;‘></th></tr>";
result += " </thead><tbody>";
//遍历集合 index为索引,element为对象
$.each(list,function(index, element) {
//拼接字符串
result += "<tr>";
result += "<td>"
+ element.photoid
+ "</td>";
result += "<td>"
+ element.ptype.ptcon
+ "</td>";
result += "<td>"
+ element.phototime
+ "</td>";
result += "<td>"
+ element.likenum
+ "</td>";
result += "<td><button aria-hidden=‘true‘ data-toggle=‘modal‘ class=‘icon-pencil‘";
result += "data-target=‘#showinfo‘  data-photoid=‘"
+ element.photoid
+ "‘  data-path=‘"
+ element.photoname
+ "‘";
result += "data-remake=‘"
+ element.photoremake
+ "‘  onclick=‘iii()‘></button> </td>";
result += "</tr>";
});
result += "</table>";
if (info.pageNum == 1) {
page += "首页 上页";
} else {
var up = info.pageNum - 1;
page += "<input type=‘button‘ name=‘first‘ value=‘首页‘ onclick=‘showpage(1)‘ />  <input type=‘button‘ name=‘up‘ value=‘上页‘ onclick=‘showpage("
+ up + ")‘ />"
}
if (info.pageNum == info.pageCount
|| info.pageCount == 0) {
page += "下页 尾页";
}
if (info.pageNum < info.pageCount) {
var nex = info.pageNum + 1;
page += "<input type=‘button‘ name=‘first‘ value=‘下页 ‘ onclick=‘showpage("
+ nex
+ ")‘ /><input type=‘button‘ name=‘first‘ value=‘尾页 ‘ onclick=‘showpage("
+ info.pageCount + ")‘ /> "
}
page += "共 " + info.dataCount + " 条记录   第"
+ info.pageNum + "页/共" + info.pageCount
+ "页";
$("#page").html(page);
$("#cont").html(result);
}
});
}
时间: 2024-08-28 03:33:25

Ajax提交分页请求,实现异步刷新效果(1)的相关文章

php ajax提交post请求出现数组被截断情况的解决方法

一.场景 今天做保存专题商品列表的时候发现,前端明明有2300多条数据,但是实际服务端接受存入数据库才166条 二.解决过程 经过调试发现前端页面提交post请求时数据量是正确的,但到服务端只能接受到166条. 一开始以为是post请求长度超过限制,不过看了下请求内容才200多K,而post请求默认支持8M以内的数据传输. 于是怀疑可能是php内部配置导致的,后来百度了下果不其然发现max_input_vars这个配置项,该配置项是在php 5.3.9版本之后才加入的,目的是为了防止hash冲突

确认框的使用。弹出一个确认框,Ajax提交一个请求,刷新页面。

视图: <td> @if (item.ReviewProject.DeclareState == DeclareOrReviewState.正在进行 && !item.IsSubmit) { @Html.ActionLink("编辑", "Edit", new { id = item.ApplicationProjectID }) <text> |</text> @Html.ActionLink("删除&

jquery ajax提交及请求

jQuery.ajax({ url: dataURL, success: function(results) { var parsedJson = jQuery.parseJSON(results); alert(parsedJson.name); } }); $.ajax({ type: "POST", url: "${ctx}/sjzx/wryda/weihu/wrydawh!dosave.action", data: $('#mainForm').serial

ajax提交请求为啥url要用这个函数encodeURI

参考如下: 如果你是通过form提交的,那就不需要用这个了.但是如果是你使用url的方式例如:ajax提交到后台的,就需要对url进行encodeURI编码,否则,会导致后台出现各种乱码,不加encodeURI的话,默认浏览器编码格式提交,这样的话,浏览器不同,传到后台的值也就不同了,所以建议使用encodeURI统一编码为utf-8的格式到后台,然后后台再处理再解码就行了,如果后台是utf-8的,好像也可以不手动解码,但是建议加上解码,避免发布环境不同的时候,会出现问题. http://zhi

妥善的ajax跨域提交post请求的解决方案,结合PHP与jquery

开发背景: 在开发中采用了一个新的架构,将大部分客户的留言功能集成到一个公共API提交保存,采用不同的用户名区分,供客户查询自己网站的留言,这样节约了客户网站的资源,也提升了维护性. 那么在提交时不能采用直接的post提交,否则会产生跳转,使访客混乱,所以采用ajax提交留言内容至公共服务器:http://wx.igooda.cn/index.php/messagesave,但尝试后发现不能提交post请求,百度后查询结果是跨域只能是get请求,这对留言内容多的来说,是不可行的.还有一种解决方案

ajax实现异步请求,不跳转页面的情况下,达到检验用户名等信息是否效果的功能!

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> </span><span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">我们在用户注册页面时常常要考虑到登录名

【转载】jquery validate验证插件,在ajax提交方式下的验证

正常的表单都是使用submit按钮来提交,jquery  validate插件可以方便的做表单验证. 做一个发送短信的功能,向目标表插入多条记录,界面采用ajax来提交表单,等待效果直接用ext的遮罩了. 但是如何验证却碰到问题. 解决方式很简单,表单跟正常表单一样,validate的submitHandler,invalidHandler这2个方法都需要覆盖,都 return false;这样表单就不会在点击按钮的时候提交了,表单验证跟正常验证起作用.submitHandler在return

PHP+JQUEY+AJAX实现分页

PHP+JQUEY+AJAX实现分页 HTML CSS #list{width:680px; height:530px; margin:2px auto; position:relative} #list ul li{float:left;width:220px; height:260px; margin:2px} #list ul li img{width:220px; height:220px} #list ul li p{line-height:22px} #pagecount{width

点滴积累【C#】---验证码,ajax提交

效果: 思路: 借用ashx文件创建四位验证,首先生成四位随机数字.然后创建画布,再将创建好的验证码存入session,然后前台进行button按钮将文本框中的值进行ajax请求到后台,和session中的验证码进行对比,成功返回true,失败返回false. 代码: [前台] 1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="verifycodeDemo.aspx.cs"