DataTable 플러그인을 사용하여 데이터를 비동기식으로 로드하는 방법에 대한 자세한 설명
이 글은 주로 데이터의 비동기 로딩을 구현하는 Jquery+dataTable 플러그인의 샘플 코드를 공유합니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
테이블 파트 코드
<table class="table table-bordered table-striped" id="table-main"> <thead> <tr> <th>用户名</th> <th>渠道名</th> <th>游戏名</th> <th>结果</th> <th>耗时</th> <th>创建时间</th> </tr> </thead> </table>
비동기 데이터 로드 및 커스터마이징 구현
다음은 table-main의 초기화 요소가 테이블의 ID인 간단한 예입니다.
$('#select-game').select2(); // 初始化搜索下拉框 // 表格汉化列表 var table_lang = { "sProcessing": "处理中...", "sLengthMenu": "每页 _MENU_ 项", "sZeroRecords": "没有匹配结果", "sInfo": "当前显示第 _START_ 至 _END_ 项,共 _TOTAL_ 项。", "sInfoEmpty": "当前显示第 0 至 0 项,共 0 项", "sInfoFiltered": "(由 _MAX_ 项结果过滤)", "sInfoPostFix": "", "sSearch": "搜索:", "sUrl": "", "sEmptyTable": "表中数据为空", "sLoadingRecords": "载入中...", "sInfoThousands": ",", "oPaginate": { "sFirst": "首页", "sPrevious": "上页", "sNext": "下页", "sLast": "末页", "sJump": "跳转" }, "oAria": { "sSortAscending": ": 以升序排列此列", "sSortDescending": ": 以降序排列此列" } }; //初始化表格 var table_main = $("#table-main").dataTable({ language:table_lang, // 提示信息 autoWidth: false, // 禁用自动调整列宽 lengthMenu: [25, 50, 100], stripeClasses: ["odd", "even"], // 为奇偶行加上样式,兼容不支持CSS伪类的场合 processing: false, // 隐藏加载提示,自行处理 serverSide: true, // 启用服务器端分页 searching: true, // 启用原生搜索 orderMulti: true, // 启用多列排序 order: [], // 取消默认排序查询,否则复选框一列会出现小箭头 renderer: "bootstrap", // 渲染样式:Bootstrap和jquery-ui pagingType: "simple_numbers", //分页样式:simple,simple_numbers,full,full_numbers columnDefs: [{ "targets": 'nosort', // 列的样式名 "orderable": false // 包含上样式名‘nosort'的禁止排序 }], ajax: function (data, callback, settings) { //封装请求参数 var param = {}; param.limit = data.length; // 页面显示记录条数,在页面显示每页显示多少项的时候 param.start = data.start; // 开始的记录序号 param.page = (data.start / data.length)+1; // 当前页码 //ajax请求数据 $.ajax({ type: "GET", url: "getRecodeList", cache: true, // 开启缓存 data: param, // 传入组装的参数 dataType: "json", success: function (result) { // console.log(result); //setTimeout仅为测试延迟效果 setTimeout(function () { //封装返回数据 var returnData = {}; returnData.draw = data.draw; // 这里直接自行返回了draw计数器,应该由后台返回 returnData.recordsTotal = result.total; // 返回数据全部记录 returnData.recordsFiltered = result.total;// 后台不实现过滤功能,每次查询均视作全部结果 returnData.data = result.data; // 返回的数据列表 //console.log(returnData); // 调用DataTables提供的callback方法,代表数据已封装完成并传回DataTables进行渲染 // 此时的数据需确保正确无误,异常判断应在执行此回调前自行处理完毕 callback(returnData); cut_td($("#table-main"), 40); // 表格截断 }, 200); } }); }, //列表表头字段 columns: [ { "data": "user_name" }, { "data": "channel" }, { "data": "game" }, { "data": "status", "render": function(data){ var status_name = ''; switch(data) { case 0: status_name = '未完成'; break; case 1: status_name = '脚本错误'; break; case 2: status_name = '成功'; break; case 3: status_name = '测试通过'; break; default : status_name = '未知'; break; } return status_name; }}, { "data": "cast_time", "render" : function(data){ if (data) { return data + 's'; } else { return '废弃'; } }}, { "data": "format_created_at" }, ] }).api();
배경 데이터 반환 형식
{ "total": 234, "per_page": "25", "current_page": 1, "last_page": 10, "next_page_url": "http://local.dgc_sdkops.com/monitor/log_pack/getRecodeList?page=2", "prev_page_url": null, "from": 1, "to": 25, "data": [ { "id": 128, "user_id": 1, "task_id": "package_128_113", "channel_version_id": 128, "game_version_id": 113, "extend_id": 0, "type": "pack", "status": 2, "remark": "", "cast_time": 93475, "created_at": "1500365068", "updated_at": "1500458543", "user_name": "admin", "format_created_at": "2017-07-18 16:04:28", "format_updated_at": "2017-07-18 16:04:28", "game": "x", "channel": "y", "game_id": 11290, "channel_id": 67 }, { "id": 240, "user_id": 1, "task_id": "package_128_113", "channel_version_id": 128, "game_version_id": 113, "extend_id": 0, "type": "pack", "status": 0, "remark": "", "cast_time": 0, "created_at": "1500458454", "updated_at": "1500458454", "user_name": "admin", "format_created_at": "2017-07-19 18:00:54", "format_updated_at": "2017-07-19 18:00:54", "game": "x", "channel": "y", "game_id": 11290, "channel_id": 67 } ] }
관련 권장 사항:
jquery dataTable 데이터 행 가져오기 방법
jquery dataTable 배경 데이터 로드 및 페이징
JQu ery.dataTables 테이블 플러그인 점프 특정 페이지로 이동하여 예제를 공유하세요
위 내용은 DataTable 플러그인을 사용하여 데이터를 비동기식으로 로드하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Huawei 휴대폰에서 이중 WeChat 로그인을 구현하는 방법은 무엇입니까? 소셜 미디어의 등장으로 WeChat은 사람들의 일상 생활에 없어서는 안될 커뮤니케이션 도구 중 하나가 되었습니다. 그러나 많은 사람들이 동일한 휴대폰에서 동시에 여러 WeChat 계정에 로그인하는 문제에 직면할 수 있습니다. Huawei 휴대폰 사용자의 경우 듀얼 WeChat 로그인을 달성하는 것은 어렵지 않습니다. 이 기사에서는 Huawei 휴대폰에서 듀얼 WeChat 로그인을 달성하는 방법을 소개합니다. 우선, 화웨이 휴대폰과 함께 제공되는 EMUI 시스템은 듀얼 애플리케이션 열기라는 매우 편리한 기능을 제공합니다. 앱 듀얼 오픈 기능을 통해 사용자는 동시에

프로그래밍 언어 PHP는 다양한 프로그래밍 논리와 알고리즘을 지원할 수 있는 강력한 웹 개발 도구입니다. 그중 피보나치 수열을 구현하는 것은 일반적이고 고전적인 프로그래밍 문제입니다. 이 기사에서는 PHP 프로그래밍 언어를 사용하여 피보나치 수열을 구현하는 방법을 소개하고 구체적인 코드 예제를 첨부합니다. 피보나치 수열은 다음과 같이 정의되는 수학적 수열입니다. 수열의 첫 번째와 두 번째 요소는 1이고 세 번째 요소부터 시작하여 각 요소의 값은 이전 두 요소의 합과 같습니다. 시퀀스의 처음 몇 가지 요소

Huawei 휴대폰에서 WeChat 복제 기능을 구현하는 방법 소셜 소프트웨어의 인기와 개인 정보 보호 및 보안에 대한 사람들의 강조가 높아지면서 WeChat 복제 기능이 점차 주목을 받고 있습니다. WeChat 복제 기능을 사용하면 사용자가 동일한 휴대폰에서 여러 WeChat 계정에 동시에 로그인할 수 있으므로 관리 및 사용이 더 쉬워집니다. Huawei 휴대폰에서 WeChat 복제 기능을 구현하는 것은 어렵지 않습니다. 다음 단계만 따르면 됩니다. 1단계: 휴대폰 시스템 버전과 WeChat 버전이 요구 사항을 충족하는지 확인하십시오. 먼저 Huawei 휴대폰 시스템 버전과 WeChat 앱이 최신 버전으로 업데이트되었는지 확인하세요.

PHP 게임 요구사항 구현 가이드 인터넷의 대중화와 발전으로 인해 웹 게임 시장이 점점 더 대중화되고 있습니다. 많은 개발자는 PHP 언어를 사용하여 자신만의 웹 게임을 개발하기를 원하며 게임 요구 사항을 구현하는 것이 핵심 단계입니다. 이 문서에서는 PHP 언어를 사용하여 일반적인 게임 요구 사항을 구현하는 방법을 소개하고 특정 코드 예제를 제공합니다. 1. 게임 캐릭터 만들기 웹게임에서 게임 캐릭터는 매우 중요한 요소입니다. 이름, 레벨, 경험치 등 게임 캐릭터의 속성을 정의하고, 이를 운용할 수 있는 방법을 제공해야 합니다.

오늘날의 소프트웨어 개발 분야에서 효율적이고 간결하며 동시성이 뛰어난 프로그래밍 언어인 Golang(Go 언어)은 점점 더 개발자들의 선호를 받고 있습니다. 풍부한 표준 라이브러리와 효율적인 동시성 기능으로 인해 게임 개발 분야에서 주목받는 선택이 되었습니다. 이 기사에서는 게임 개발에 Golang을 사용하는 방법을 살펴보고 특정 코드 예제를 통해 Golang의 강력한 가능성을 보여줍니다. 1. 게임 개발에서 Golang의 장점 Golang은 정적인 유형의 언어로서 대규모 게임 시스템을 구축하는 데 사용됩니다.

Golang에서 정확한 나눗셈 작업을 구현하는 것은 특히 재무 계산과 관련된 시나리오 또는 고정밀 계산이 필요한 기타 시나리오에서 일반적인 요구 사항입니다. Golang에 내장된 나눗셈 연산자 "/"는 부동 소수점 수에 대해 계산되며 때로는 정밀도가 손실되는 문제가 있습니다. 이 문제를 해결하기 위해 타사 라이브러리나 사용자 정의 기능을 사용하여 정확한 분할 작업을 구현할 수 있습니다. 일반적인 접근 방식은 분수 표현을 제공하고 정확한 나눗셈 연산을 구현하는 데 사용할 수 있는 math/big 패키지의 Rat 유형을 사용하는 것입니다.

동시 및 비동기 프로그래밍 동시 프로그래밍은 동시에 실행되는 여러 작업을 처리하며, 비동기 프로그래밍은 작업이 스레드를 차단하지 않는 일종의 동시 프로그래밍입니다. asyncio는 프로그램이 메인 스레드를 차단하지 않고 I/O 작업을 수행할 수 있도록 하는 Python의 비동기 프로그래밍용 라이브러리입니다. 이벤트 루프 asyncio의 핵심은 I/O 이벤트를 모니터링하고 해당 작업을 예약하는 이벤트 루프입니다. 코루틴이 준비되면 이벤트 루프는 I/O 작업을 기다릴 때까지 이를 실행합니다. 그런 다음 코루틴을 일시 중지하고 다른 코루틴을 계속 실행합니다. 코루틴 코루틴은 실행을 일시 중지하고 다시 시작할 수 있는 함수입니다. asyncdef 키워드는 코루틴을 만드는 데 사용됩니다. 코루틴은 I/O 작업이 완료될 때까지 기다리기 위해 wait 키워드를 사용합니다. 다음과 같은 asyncio의 기본 사항

실시간 프로그래밍 지침을 제공할 수 없어서 정말 죄송합니다. 하지만 PHP를 사용하여 SaaS를 구현하는 방법을 더 잘 이해할 수 있도록 코드 예제를 제공할 수 있습니다. 다음은 "PHP를 사용하여 SaaS 구현: 종합 분석"이라는 제목의 1,500자 이내의 기사입니다. 오늘날의 정보화 시대에 SaaS(Software as a Service)는 기업과 개인이 소프트웨어에 액세스하는 보다 유연하고 편리한 방법을 제공하는 주류가 되었습니다. SaaS를 사용하면 사용자가 온프레미스에 있을 필요가 없습니다.
