如何调用变量 ajax

How to call variabled ajax

我把ajax的调用放在了一个变量中,如何才能再次调用它并将一些参数传递给ajax的数据属性?

var request = $.ajax({
    URL: '/usage_analytics.php',
    type: 'get',
    data: {date_start: dt_date_start, date_end: dt_date_end},
    dataType: 'json'
});

request.done(function (r) {
    console.log(r);
    //my codes goes here
});

现在我有一个日期范围选择器,如果我单击应用按钮,我只想调用 request 变量以便能够再次触发 ajax 调用并且传递一些参数。

$('#reportrange').on('apply.daterangepicker', function(ev, picker) {
    var picked_start = picker.startDate.format('YYYY-MM-DD');
    var picked_end   = picker.endDate.format('YYYY-MM-DD');

    dt_date_start = picked_start;
    dt_date_end   = picked_end;
    //call the request here and pass the dt_date_start and dt_date_end
});

TIA

我认为您不能使用变量来做到这一点。我建议您定义一个包含 ajax 请求的函数,然后您可以像这样在您的代码中调用此函数:

function getUsageAnalytics(dt_date_start, dt_date_end) {
  return $.ajax({
    URL: '/usage_analytics.php',
    type: 'get',
    data: {date_start: dt_date_start, date_end: dt_date_end},
    dataType: 'json',
  });
});

声明函数后,您可以像这样使用它:

$('#reportrange').on('apply.daterangepicker', function(ev, picker) {
  var picked_start = picker.startDate.format('YYYY-MM-DD');
  var picked_end   = picker.endDate.format('YYYY-MM-DD');

  getUsageAnalytics(picked_start, picked_end).done(function (r) {
    console.log(r);
    // your codes goes here
  });
});