easyui datagrid 加载两次请求,触发两次ajax 请求 问题

datagrid初始化的时候请求两次URL

两种情况

1.

<table id="gridview" class="easyui-datagrid"></table>
$(function(){
  $("#gridview").datagrid({
   url:"getData.do",
   title:"列表",
   singleSelect:false,
   pagination:true,
   toolbar:"#toolbar",

   method:"get",
    columns:[[
       {field:"ck",checkbox:true },
       {field:"id",title:"ID",width:20,sortable:true },
       {field:"kindName",title:"名称",width:100,resizable:true,sortable:true},
       {field:"createDate",title:"创建日期",width:80,resizable:true,sortable:true}
    ]]
  });
 })

由于在grid的table中写了class="easyui-datagrid",另外在初始化的js中有了URL这样就会请求两次getData.do了,将class="easyui-datagrid"去掉即可。

第二种情况 :

    

初始化一个表格 
$(function(){  $(‘.SFC7450_main_table1‘).datagrid({
		url:‘table.json‘,//加载本地json
		rownumbers:true,//序号是否显示
		pagination:true,	//是否添加页签
		pagePosition:‘bottom‘,	//页面的位置
		method:‘get‘,//获取类型
		singleSelect:true,//是否单选
		fitColumns:false,//单元格是否自适应填满表格宽度
		columns:[SFC7450_table[0]]
	});

});

使用下面方式为表格赋值 
$(‘.SFC7450_main_table1‘).datagrid({
		url:‘/sfc/a.do‘,//加载本地json
		rownumbers:true,//序号是否显示
		pagination:true,	//是否添加页签
		pagePosition:‘bottom‘,	//页面的位置
		method:‘get‘,//获取类型
		singleSelect:true,//是否单选
		fitColumns:false,//单元格是否自适应填满表格宽度
		columns:[SFC7450_table[0]]
	});
这时候会出现一个奇怪的现象: js调试观察network 会看到 请求了 sfc/a.do .. 请求完成后又请求了一次 table.json ... 解决:可以在初始化的时候不要请求url,而是使用data 赋一个空数组 (我们为什么要初始化一个空的表格,是为了页面在初始的时候展现好看)//空白JOSN 5行
var KongJson5=[
{"":"","":"","":"","":"","":"",
"":"","":"","":"","":"","":""},

{"":"","":"","":"","":"","":"",
"":"","":"","":"","":"","":""},

{"":"","":"","":"","":"","":"",
"":"","":"","":"","":"","":""},
{"":"","":"","":"","":"","":"",
"":"","":"","":"","":"","":""},

{"":"","":"","":"","":"","":"",
"":"","":"","":"","":"","":""}
]

改成下面即可 $(‘.SFC7450_main_table1‘).datagrid({
		data:KongJson5,//加载本地json		rownumbers:true,//序号是否显示
		pagination:true,	//是否添加页签
		pagePosition:‘bottom‘,	//页面的位置
		method:‘get‘,//获取类型
		singleSelect:true,//是否单选
		fitColumns:false,//单元格是否自适应填满表格宽度
		columns:[SFC7450_table[0]]
	});

  

<table id="gridview" class="easyui-datagrid"></table>

时间: 2024-10-11 10:36:10

easyui datagrid 加载两次请求,触发两次ajax 请求 问题的相关文章

easyui datagrid加载数据的两种方式

1.加载本地数据 var obj = {"total":2,"rows":[{id:"1",name:"一"},{id:"2",name:"二"}]}; $('#dg').datagrid('loadData',obj); 注意:这里的数据必须是json对象,要是json字符串,必须先转换成json对象才能作为datagrid的数据源.否则会出现异常:Cannot read proper

Jquery easyUI datagrid加载复杂JSON数据方法

1.JSON数据为: { "rows": [ { "itemNo": "1", "itemName": "12", "spec": "", "pattern": "", "itemCategory": { "id": "A01", "name": &

easyui datagrid加载数据和分页

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%String basepath = request.getContextPath();%><%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core&quo

PHP+Mysql+easyui点击左侧tree菜单对应表名右侧动态生成datagrid加载表单数据(二)

关于tree菜单生成,参考我的另一篇博文地址tree 菜单 实现功能:点击左侧tree菜单中的table,右侧通过datagrid加载出该表对用的所有数据 难点:获取该表的所有列名,动态生成datagrid,并加载数据 解决办法: 使用tree菜单的onClick事件: $('#tree').tree( { url:'tree_getData.php', onClick:function(node){ //判断点击的节点是否是子节点是子节点就创建datagrid,否则就return打开这个节点

EasyUI异步加载Tree实现(另类,简洁)

前言 前几天事情比较的多,回学校时候行李,邮寄包裹,归还图书准备毕业.之后又是入职体检,各种琐碎的小事,文章也停更了几次.今天正好有一些零碎的时间可以把之前的工作内容做一个总结整理.这篇文章就是关于EasyUI实现异步加载树的. 异步Tree 首先需明白的是这里所说的异步加载是一个宽泛的概念.以一个实际的树形菜单为例,一般情况下在数据量不大的时候,我们可以一次性的把数据加载出来,这是符合常理的.但是如果数据量大,更加合适的做法便是按树的层级,动态的加载某层级的数据,这样的一种描述就是这里所说的异

easyui中加载table列表数据 第一次有数据第二次没有数据问题

$('#allUsingProductTable').datagrid({  加载数据时,第二加载时table会发生变化会出现找不到问题.如果是弹框没有影响,弹框出现出现列表每次都会执行销毁方法. 解决办法 发送ajax请求获取数据,用$('#usingProductTableUpdate').datagrid('loadData', data.rows);加载数据 $(function(){ $('#usingProductTableUpdate').datagrid({ width: 'au

Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求

Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求 java 判断请求是不是ajax请求,Java判断是否为ajax请求 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ?Copyright 蕃薯耀 2017年8月10日 http://www.cnblogs.com/

jquery easyui使用(三)&#183;&#183;&#183;&#183;&#183;&#183;datagrid加载数据(未解决)

<div id="table_Data"> </div> $("#table_Data").datagrid({ toolbar: '#myToolbar', url: urlAshx, queryParams: { "action": "carlist" }, method: 'post', width: 'auto', height: '500px', iconCls: 'icon-edit', s

Easyui 弹出加载中的遮罩的两种方法

第一种方法:$.ajax({ type:'POST', url:url, data:obj, dataType:'json', beforeSend: function () { load(); }, complete: function () { disLoad(); }, success:function(data){ showMessage(data); } }); //弹出加载层 function load() { $("<div class=\"datagrid-mas