2014-12-31 2 views
0

У меня есть кусок кода, который, как это ..Условные параметры для функции AJAX

var v = $('#time_type').val(); 

    /* ajax call to fetch limit no. of data continuously */ 
    ajaxcall_continue = $.post("ajax.php", 
      { 
      'time_type':v,'func':'show_datatable', 
      'start_row':outer_start_row,'limit':outer_limit 
      }, 
      function(response) 
      { 
       /*---- function body ----*/ 
      },'json'); 

теперь здесь будут являться условием, как

var v = $('#time_type').val(); 
if(v == 'custom') 
{ 
    var st = $('#start_time').val(); 
    var en = $('#end_time').val(); 
    ajaxcall_continue = $.post("ajax.php", 
       { 
       'time_type':v,'start_time':st,'end_time':en,'func':'show_datatable', 
       'start_row':outer_start_row,'limit':outer_limit 
       }, 
       function(response) 
       { 
        /*---- function body ----*/ 
       },'json'); 
} 
else 
{ 
    ajaxcall_continue = $.post("ajax.php", 
       { 
       'time_type':v,'func':'show_datatable', 
       'start_row':outer_start_row,'limit':outer_limit 
       }, 
       function(response) 
       { 
        /*---- function body ----*/ 
       },'json'); 
} 

Но вопрос, я не хотите две записи две отдельные функции $.post в инструкции if else.

Лучше Я хочу сделать два отдельных списка параметров на основе условия и использовать их в функции $post.

Я не могу найти процедуру для этого.

ответ

1

способен к той же функциональности, используя переменную Вы?

var parameter = '' 
var v = $('#time_type').val(); 
if(v == 'custom') 
{ 
var st = $('#start_time').val(); 
var en = $('#end_time').val(); 
parameter = "{'time_type':v,'func':'show_datatable','start_row':outer_start_row,'limit':outer_limit }"; 
} 
else 
{ 
    parameter = " {'time_type':v,'func':'show_datatable','start_row':outer_start_row,'limit':outer_limit}" 
} 

ajaxcall_continue = $.post("ajax.php",parameter, 
      function(response) 
      { 
       /*---- function body ----*/ 
      },'json'); 
+0

необходимо удалить двойные кавычки вокруг значений параметра – Saswat

2

Попробуйте выход:

var options = {}; 
options.url = "example.com"; 
options.data = {}; 
if(condition) { 
    options.data.param1 = 'abc'; 
    ... 
} else { 
    options.data.param2 = 'xyz'; 
    ... 
} 
... 
$.post(options);//only once ! 
Смежные вопросы