Javascript Jquery-单击“更改附加参数”仅一次

Javascript Jquery-单击“更改附加参数”仅一次,javascript,jquery,Javascript,Jquery,使用当前代码,数据端点路径将随着 data.15435.json?parameter=test data.13588.json?parameter=test?parameter=test data.15435.json?parameter=test?parameter=test?parameter=test 每次更改时,都会追加参数。但是,只需要包含此参数一次 $('a.dropdown-item')。在('click',function()上{ 让getDataKey=$(this.att

使用当前代码,数据端点路径将随着

data.15435.json?parameter=test
data.13588.json?parameter=test?parameter=test
data.15435.json?parameter=test?parameter=test?parameter=test
每次更改时,都会追加参数。但是,只需要包含此参数一次

$('a.dropdown-item')。在('click',function()上{
让getDataKey=$(this.attr('data-key');
让getEndPoint=$('.detail.component').attr('data-endpoint');
var getEndPointVal=getEndPoint.replace(/[.0-9]*\.json/,'.+getDataKey+'.json');
var getEndPointValParam=getEndPointVal+'?参数=test';
var getJsonUrl=$('.detail.component').attr('data-endpoint',getEndPointValParam);
让getNewDataKey=getJsonUrl;
console.log(getJsonUrl)
}

..
清单1
清单1
清单2

我能看到的唯一方法是将
数据端点设置为永久或常量。请尝试以下操作:

让getEndPoint=$('.detail.component').attr('data-endpoint');
$('a.dropdown-item')。在('click',函数(e)上{
e、 预防默认值();
让getDataKey=$(this.data('key');
var array=getEndPoint.split('.');//现在它是一个数组
var getEndPointVal=array[0]+'.+getDataKey+'.+array[1];
var getEndPointValParam=getEndPointVal+'?参数=test';
$('.detail.component').data('endpoint',getEndPointValParam);
var getJsonUrl=$('.detail.component').data('endpoint');
console.log(getJsonUrl);
});

我能看到的唯一方法是将
数据端点设置为永久或常量。请尝试以下操作:

让getEndPoint=$('.detail.component').attr('data-endpoint');
$('a.dropdown-item')。在('click',函数(e)上{
e、 预防默认值();
让getDataKey=$(this.data('key');
var array=getEndPoint.split('.');//现在它是一个数组
var getEndPointVal=array[0]+'.+getDataKey+'.+array[1];
var getEndPointValParam=getEndPointVal+'?参数=test';
$('.detail.component').data('endpoint',getEndPointValParam);
var getJsonUrl=$('.detail.component').data('endpoint');
console.log(getJsonUrl);
});


尝试用
regex
解析
url
,并检查
符号后是否有任何参数。这将提供一次附加功能。为什么要保存构造的端点值?只需每次动态构造它会更简单,这样就不会遇到此类问题。尝试解析
urlregex
进行de>并检查
符号后是否有任何参数。这将提供一次附加功能。为什么要保存构造的端点值?只需每次动态构造它会更简单,这样就不会遇到此类问题。