yii2如何删除url中未使用的查询参数

e5nszbig  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(163)

我有Kartik gridView和自定义过滤器。在我的浏览器中的gridfilter后,我得到了类似的URL

localhost:20024/consignment?fid=&post_code=&pud2_mrn=&pud2_status=PUDP&pud_status=&pud2_remaining_date=&mrn=&mrn_status=&ioss_number=&declaration_type=&status=&entry_at=&exit_at=&created_at=

有没有办法从YII而不是javascript里面的url中删除未填充的参数?或者有人能提供javascript的完整例子来实现这个目标吗?

uwopmtnx

uwopmtnx1#

vendor/yiisoft/yii2/yii.gridView.js复制到web目录下的某个位置(例如web/js),并添加以下行:

$.each(data, function (name, value) { if (value[0].length === 0) data[name] = null; });

applyFilter方法中的此行之前:

var pos = settings.filterUrl.indexOf('?');

然后将其添加到web.conf(如果您在此js文件中使用了不同的位置,请更新路径):

'assetManager' => [
    'bundles' => [
        'yii\grid\GridViewAsset' => [
            'sourcePath' => '@webroot/js',
            'basePath' => '@webroot/js',
            'baseUrl' => 'vendor/js',
        ],
    ],
],

这是因为您没有修改vendor文件夹中的任何内容。

相关问题