java向别人的页面填充数据_通过Ajax请求动态填充页面数据的实例

你可能得预先了解

实现功能:点击页面上的按钮实现动态追加数据

实现原理:点击页面按钮,通过Ajax提交请求到后台,后台接收请求后进行数据库操作,然后返回数据到前台并进行页面渲染

20180821154126.jpg

动态加载更多数据

代码实现

//1.页面布局

//2.js代码

function moreData(){

var ptip = $('.tip').val();

var jstr = {pageNo:ptip};

$.ajax({

url: '${rc.getContextPath()}/publicity/more.do',//url以具体为实现

type: 'POST',

dataType: 'html',

data:jstr,

timeout: 5000,

cache: false,

beforeSend: LoadFunction, //加载执行方法

error: erryFunction, //错误执行方法

success: succFunction //成功执行方法

})

function LoadFunction() {

$("#more").val('加载中...');

}

function erryFunction() {

alert("获取数据错误,请重试!");

$("#more").val('加载更多');

}

function succFunction(data) {

if(data!=null && data!=""){

$('.tip').val(++ptip);

$("#more").val('加载更多');

$('.mainContent').append(data);

}else{

$("#more").val('无更多数据');

$("#more").attr('disabled',true);

}

}

//3.后台代码

//3.1 java代码实现

import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;

import org.springframework.ui.ModelMap;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestMethod;

import com.appmoudle.base.Consts;

import com.appmoudle.model.ssdj.Publicity;

import com.appmoudle.service.PublicityService;

@Controller

@RequestMapping("/publicity")

public class MoreData {

private String ftlURL = ".../publicity/MoreData.ftl";

@Autowired

private PublicityService publicityService;

@RequestMapping(value="more",method=RequestMethod.POST)

public String getMoreData(HttpServletRequest request,ModelMap map){

Integer start = 0;

String pageNo = request.getParameter("pageNo");

if(pageNo!=null){

start = Integer.parseInt(pageNo) * 20;

}

List dataList = publicityService.findList(start, Consts.PAGE_SIZE, null, "1", null, null);

map.put("index_number", start);

map.put("dataList", dataList);

return ftlURL;

}

}

//3.2 模板页面

//(MoreData.ftl)

${dataItem_index+1+index_number}

12>

${dataItem.comp_name?substring(0,12)}..

${dataItem.comp_name}

#if>

${dataItem.license_number}

10>

${dataItem.license_name?substring(0,10)}..

${dataItem.license_name}

#if>

${dataItem.validaty_start?date}

#if>

${dataItem.validaty_end?date}

#if>

20>

${dataItem.license_content?substring(0,20)}..

${dataItem.license_content}

#if>

#list>

#if>

效果截图

20180821154144.jpg

后台返回数据(带格式)

片尾留注

1、前台页面点击增加更多后,向后台发起请求,后台进行数据库操作,返回数据后填充到数据模板,带格式的数据返回到前台填充页面

2、代码中的变量 ptip 指代当前获取次数,也可理解为获取页数,后台设定每次获取N条数据,初次获取是以页面已有数据数开始,追加N条数据,以此循环

3、本代码段为项目开发中使用,因项目使用框架,后台代码书写格式仅作为参考使用

以上这篇通过Ajax请求动态填充页面数据的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值