jqgrid postData post方式累加参数,缓存了原来的数据

  今天做项目的时候发现一个问题,我们有一个筛选项,一个是VIP用户,一个是普通用户,还有一个是全部用户,首先看下我们的selection

<select name="" id="user_type">
    <option value="">全部</option>
    <option value="1">VIP</option>
    <option value="2">普通</option>
</select>

非常常用的一种格式,然后我们会做一个判断

1 var jqgrid_post_data = {};//最终向jqgrid传输的json数据
2 if($("#user_type").val()){ //如果有值的话,给json复制
3      jqgrid_post_data["user_type"] = $("#user_type").val();
4 }
5 jQuery("#table_list_1").jqGrid("clearGridData");
6 $("#table_list_1").jqGrid(‘setGridParam‘, {  //重新请求参数
7         postData:jqgrid_post_data ,
8         page:this_page,
9 }).trigger("reloadGrid");

但是这个我们发现了一个问题,就是在我们从vip和普通用户切换到全部数据之后,查询的还是上次的数据。

  比如说我查了一次VIP的用户数据,然后我切换到了全部用户,这个时候jqgrid还是查询的VIP的用户,但是我们打印 jqgrid_post_data 的时候,这个里面是没有user_type属性的。经过查找,发现了是jqgrid缓存了参数。结果办法分为两种,一种是比较简单的,当我们选择全部用户的时候,把user_type设置为空

1 jqgrid_post_data["user_type"] = ‘‘;

  第二种方法是看其他的博客了解到的,就是在reloadGrid之前,执行下面的函数,

1 var postData = $(‘#jqGrid‘).jqGrid("getGridParam", "postData");
2       $.each(postData, function (k, v) {
3             delete postData[k];
4 });

就是把原来的参数清理掉,然后在重新加载一遍数据。

 

原文地址:https://www.cnblogs.com/daniao11417/p/10727281.html

时间: 2025-01-16 23:44:41

jqgrid postData post方式累加参数,缓存了原来的数据的相关文章

使用post方式提交表单如何获取图片数据及其他文本参数[NodeJS]

当POST方式提交包含图片的表单时,如上传图片时,需要在<form>字段需要添加参数enctype="multipart/form-data",表明以二进制方式传输数据.假如表单中包含其他文本参数,如用户名username,用常规方式是无法获取post参数的,如: <html> <head> <meta http-equiv="Content-Type" content="text/html" chars

Android 通过GET和POST方式提交参数给web应用

如何把数据上传到web应用 应用界面: 视频名称:title 时长:timelength 保存,点击保存按钮提交到web应用中,web应用中开发Manageservlet来接收数据. get方式 服务端: public class ManageServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request,H

ajax get方式传递参数

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>JS</title> <style> #box{ width:600px; height:200px; padding:20px; border:1px solid #999; } </style> </head> <

ajax post方式传递参数

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>JS</title> <style> #box{ width:600px; height:200px; padding:20px; border:1px solid #999; } </style> </head> <

jsp get方式请求参数中包含中文乱码问题解决

1. 自己接收到参数之后在后台进行转码处理 2: 修改tomcat的配置文件  server.xml <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="utf-8"/> 即可 jsp get方式请求参数中包含中文乱码问题解决,布布扣,bubuk

NameValuePair方式传参数

今天工作中联调外部的一个接口用post方式传输,我按照文档封装参数成Jason字符串传入,但是对方一直接受参数为空,折腾了半天也没找到问题.很苦恼,检查代码都没有错误,可是为什么对方接受参数为空呢?然后找对方的技术人员联调,看看是怎么回事,也折腾了半天最后发现对方是用NameValuePair方式传参数.虽然这个方式已经过时了,但是在这里记录下,以备以后出现类似的方式传参数. 1 /** 2 /** 3 * 定义了一个list,该list的数据类型是NameValuePair(简单名称值对节点类

delphi的一些语法知识 以及参数传递问题,按引用方式传递参数,按值方式传递参数

//delphi中exit,abort,break,continue 的区别 exit: 退出函数体abort: 遇到异常,安静处理,就是不显示不提示break: 退出当前循环体,包括for ,while, repeat等循环体continue: 结束循环内的本次处理,继续从循环体的开始位置继续执行 Exit 是跳出当前代码块,也就是当前函数,跳出后是要继续向下执行的(如果有后续代码). Abort 是从 EAbort 过来的,可以激发 exception,其实质就是 Abort = Raise

实际测试例子+源码分析的方式解剖MyBatis缓存的概念

前言: 前方高能! 本文内容有点多,通过实际测试例子+源码分析的方式解剖MyBatis缓存的概念,对这方面有兴趣的小伙伴请继续看下去~ MyBatis缓存介绍首先看一段wiki上关于MyBatis缓存的介绍: MyBatis支持声明式数据缓存(declarative data caching).当一条SQL语句被标记为"可缓存"后,首次执行它时从数据库获取的所有数据会被存储在一段高速缓存中,今后执行这条语句时就会从高速缓存中读取结果,而不是再次命中数据库.MyBatis提供了默认下基于

php 对象方式传入参数

类是单例模式,对象方式传入参数,如果参数过多是,使用形参容易混乱 class Object { /** * 基本配置信息 * @var array */ private $config = array( 'dbms'=> 'mysql', //数据库类型 'host'=> 'localhost',//数据库主机名 'dbName'=> 'back', //使用的数据库 'user'=> 'root', //数据库连接用户名 'pass'=> '', //对应的密码 'char