Ajax请求不会立即启动

时间:2017-07-19 00:46:15

标签: javascript jquery ajax

如何阻止自动播放,我有一个搜索按钮,我想在获取数据之前先搜索,任何方法对我都没问题,无论是AJAX方面还是Javascript方面,请帮忙。

的Javascript

var table = $('#SARDatatable').DataTable({
    "processing": true,
    dom: "<'row'<'col-sm-6'l><'col-sm-6'f>>" +
        "<'row'<'col-sm-12'tr>>" +
        "<'row'<'col-sm-2'i><'col-sm-5'B><'col-sm-5'p>>",
    buttons: [
        'copyHtml5',
        'excelHtml5',
        'csvHtml5',
        'pdfHtml5',
        'print'
    ],
    "ajax": {
        "url": '/Home/GetAllSAR',
        "type": "POST",
        "datatype": "json",
        "data": function (d) {
            d.searchParameters = {};
            d.searchParameters.sarcode = $('#txtSAR').val();
            d.searchParameters.stype = $('#txtSType').val();
        }
    },
    "columns": [
        { "data": "sarcode", "autoWidth": true },
        { "data": "stype", "autoWidth": true },
        { "data": "amount", "autoWidth": true },
        { "data": "filterno", "autoWidth": true }
    ]
});

$('#btnSearch').on("click", function () {
    table.ajax.reload();
});

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您只想在单击按钮后初始化表,以便在单击按钮之前不会发出获取数据的AJAX请求。

如果是这种情况,那么我建议如下:

  1. 在桌子上放一个按钮:
  2. <强> HTML

    <button id='initTable'>Init Table</button>
    

    <强>的JavaScript

    var table;
    $('#initTable').on('click', function() {
        table = $('#SARDatatable').DataTable({ // code to init the DataTable });
    });
    
    1. 拥有“重新加载”按钮
    2. <强> HTML

      <button id='btnSearch'>Reload</button>
      

      <强>的JavaScript

      $('#btnSearch').on("click", function () {
          table.ajax.reload();
      });
      

      初始化表格后,您可以隐藏“Init Table”按钮,这样一次只能有一个按钮。

      希望这有帮助。