table的刷新怎么写吖?

提问 未结 15 483
周叫兽
周叫兽 2019-1-8
悬赏:20飞吻



请求大神table的刷新怎么写,已获取input内容。
回帖
  • 这么写不起作用么?关键是看看有没有报错信息,还有id的值写得对不对,条件的就得前面没问题的情况下看看后台的接口是不是要的这种形式,逻辑是否正常了,最好顺便贴一下render的部分的代码
    0 回复
  • 周叫兽
    2019-1-8
    @岁月小偷 这么写没有报错,什么都没有,很尴尬,所以不知道问题在哪里。
    0 回复
  • @周叫兽 嗯嗯,知道你的问题在哪了,你实际要的是一个前端过滤吧?where实际只有在url这种模式的时候才有用,在reload的时候会重新请求,带上where的条件,但是你的table实际是一个静态数据data的模式,所以这么reload实际是不管用的,data模式模拟后台接口的过滤的可以类似下面这么做
    // 所有的数据
    var dataTotal = [{},{}];// 自己请求得到的数据或者测试数据啥的

    // 初始化
    table.render({
    elem: '#demo',
    data: dataTotal,
    ......
    });

    var nameValue = $(input).val().trim();
    // 过滤的时候
    table.reload('demo', {
    data: dataTotal.filter(function(data, index){
    // 模拟name字段的模糊查询,如果没有填写就返回就返回所有的数据
    return nameValue ? (data.name.indexOf(nameValue) !== -1 ):true;
    }),
    page: {curr: 1}
    });
    0 回复
  • 周叫兽
    2019-1-8
    @岁月小偷
    我在上面自己封装了ajax内容,这段代码是从后台获取的信息展现的呢。那下面table.reload的url应该怎么写呢?
    0 回复
  • 周叫兽
    2019-1-8
    @岁月小偷 我把url加上了接口,但是没有出现了,数据接口请求异常:parsererror,接口是和上面table不一样的接口么?还是我写的代码出现了问题?
    0 回复
  • @周叫兽 嗯嗯,看你自己发ajax的时候里面写了实际是为了做了jsonp跨域的配置,你可以试一下把自己发的ajax中的jsonp注释掉,估计也是会提示这个错误,也就是你table中设置了url跨域的时候遇到的一样,可以利用$.ajaxSetup去设置beforeSend回调,把需要添加上jsonp配置的请求给加上对应的设置,这样子table的请求也会进入这个回调,可以试试看。
    0 回复
  • 周叫兽
    2019-1-8
    @岁月小偷 我不是很明白这个$.ajaxSetup怎么写,之前没用过诶。
    0 回复
  • @周叫兽 这个是可以定义ajax的一些默认的参数,可以在一个比较关键的地方,比如入口js里面设置一下,后面的ajax就会“继承”这些属性
    比如
    $.ajaxSetup({
    beforeSend: function(){
    this.jsonp = this.jsonp||'默认的值';
    this.... = ...
    }
    });
    0 回复
  • 周叫兽
    2019-1-8
    @岁月小偷


    下面的ajax还需要添加jsonp么?我这儿还是会,数据接口请求异常:parsererror,
    0 回复
  • @周叫兽 你写的代码里面这句是没有任何意义的额,它原本有的就还有没有的就没有,而且一般来说这个应该放在最外层不用再回调或者监听里面写的
    0 回复