我有一段像这样的代码..
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');
}
但问题是,我不想在if else语句中写两个单独的$.post
函数。
最好我想根据条件制作两个单独的参数列表,并在$post
函数中使用它们。
我无法找到执行此操作的程序。
答案 0 :(得分:3)
试试这个:
var options = {};
options.url = "example.com";
options.data = {};
if(condition) {
options.data.param1 = 'abc';
...
} else {
options.data.param2 = 'xyz';
...
}
...
$.post(options);//only once !
答案 1 :(得分: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');