Как заменить функциональные параметры? - PullRequest
0 голосов
/ 18 мая 2011

Я использую следующий код для вызова ajax, когда данные формы передаются в виде параметров.

//ajax call
function restServiceCall(origin,destination,tripType,dateDepart,dateReturn){

    dataString = 'origin='+ origin + '&destination=' + destination + '&tripType='+tripType;

     $.jsonp({
          "url": flightURL,
          callbackParameter:jsonpCallBack,
          data: dataString,
    beforeSend:function(){$('#loadingdiv').show()},
           "success": function(data) {
                        if(data.error != null){
                            $('#errtitle').html('<h2 class="pgtitle">Error !! &nbsp;'+data.error+'</h2>').show();
                            $("#displaydiv,loadingdiv").hide();
                        }else{
                          renderData (data,dateDepart,dateReturn);
                      }
           },

            "error": function(xOptions, textStatus) {
               $('#errtitle').html('<h2 class="pgtitle">Sorry the service you are looking for is currently unavailable</h2>').show();
               $("#displaydiv,loadingdiv").hide();
           }
 });
}

Помимо вызова из формы, я также использую его в следующей функции, в которой мне просто нужно передать либо dateDepart / dateReturn в качестве параметров.

//for pagination
$('.pagenation a').bind('click',function(){
        var numDays = 7;
        var self = $(this);

        var dateTemp = self.parents(':eq(1)').attr('id')=="onewaytripdiv"? parseDate(dateDepart):parseDate(dateReturn);

        if(self.hasClass('left')){
            var tempDepDate = removeNumOfDays(dateTemp,numDays);
        }else{
            var tempDepDate = addNumOfDays(dateTemp,numDays);
        }
        var changedDate = tempDepDate.getDate()+' '+cx.monthNamesShort[tempDepDate.getMonth()]+' '+tempDepDate.getFullYear();
        if(self.parents(':eq(1)').attr('id')=="onewaytripdiv"){
            dateDepart = changedDate;
        }else{
            dateReturn = changedDate;
        }   
    restServiceCall(origin,destination,tripType,dateDepart,dateReturn);
});

Я хотел бы удалить параметры в вызове функции, так как параметры могут отличаться. Пожалуйста, предложите альтернативу для передачи параметров.

1 Ответ

0 голосов
/ 18 мая 2011

Как насчет передачи массива параметров вместо этого? А затем передайте другое значение, например целое число, чтобы указать функции, чего ожидать в массиве ее параметров.

* 1003 например *

restServiceCall(myParams, 0);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...