调用一个接一个的函数来获取正确的URL

时间:2017-05-23 12:28:31

标签: javascript jquery grails gsp

您好我正在使用Grails ..

<g:link name="searchLink" controller="MRController"  
action="ExcelExport">TEST GRAILS</g:link>

<script>
        $(function() {
            $('a[name="searchLink"]').bind('click', function() {
            $(this).attr('href', $(this).attr('href') + '?startdate=' + start().StartDate +'&enddate=' + start().Enddate);
            })
            })


       function start(){

        var StartDate =  $("#startDate").val();
        var Enddate=  $("#endDate").val();
        return {StartDate:StartDate,Enddate:Enddate}
        }
    </script>

我试图获取以下网址

 http://localhost:8077/Myproject/MRController/ExcelExport  
 ?startdate=2017-05-21&enddate=2017-05-23

但是,当我再次点击链接时,我得到以下网址,而不是我想要新的startdate和enddate值的链接

 http://localhost:8077/Myproject/MRController/ExcelExport?  
 startdate=2017-05-21&enddate=2017-05-23?startdate=2017-05-21&enddate=2017-05-23

被修改

我已尝试使用以下脚本清除第一次调用中的参数但我不知道如何让脚本一个接一个地运行意味着首先调用url调用工作然后参数将通过函数清除

<script>
function refineUrl()
        {   
        //get full url
        var url = window.location.href;
        //get url after/  
        var value = url.substring(url.lastIndexOf('/') + 1);
        //get the part after before ?
        value  = value.split("?")[0];
        return value; 
        }

    </script>

1 个答案:

答案 0 :(得分:0)

不要更改JS代码中的原始href属性:

$('a[name="searchLink"]').bind('click', function() {
    document.location = $(this).attr('href') + '?startdate=' + start().StartDate +'&enddate=' + start().Enddate;            
})