【问题标题】:Make ajax promise into function将 ajax 承诺变为功能
【发布时间】:2020-11-09 22:07:43
【问题描述】:

我有两个 ajax 函数需要在第三个函数运行之前完成。我将它们分成两个变量并使用 $.when 开始第三个变量。

var ilf =
    $.ajax({
        type: "POST",
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        url: '<%= ResolveUrl("../WebService/abc.asmx/GetFirst") %>',
        cache: false,
        data: null,
    }).done(function (result) {
        if (result != '') {
        }
    }).fail(function (jqXHR, textStatus, errorThrown) {
});

var rlf =
    $.ajax({
        type: "POST",
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        url: '<%= ResolveUrl("../WebService/abc.asmx/GetSecond") %>',
        cache: false,
        data: null,
    }).done(function (result) {
    }).fail(function (jqXHR, textStatus, errorThrown) {
    });

$.when(ilf, rlf) 
    .done(function (r1, r2) {
    // do whatever
});

如果我希望能够调用 $.when,如何修改此设置?比如说,响应按钮点击。

【问题讨论】:

    标签: jquery ajax deferred


    【解决方案1】:

    只需将代码放在函数定义中即可。

    function ilf_rlf() {
      var ilf =
        $.ajax({
          type: "POST",
          dataType: "json",
          contentType: "application/json; charset=utf-8",
          url: '<%= ResolveUrl("../WebService/abc.asmx/GetFirst") %>',
          cache: false,
          data: null,
        }).done(function(result) {
          if (result != '') {}
        }).fail(function(jqXHR, textStatus, errorThrown) {});
    
      var rlf =
        $.ajax({
          type: "POST",
          dataType: "json",
          contentType: "application/json; charset=utf-8",
          url: '<%= ResolveUrl("../WebService/abc.asmx/GetSecond") %>',
          cache: false,
          data: null,
        }).done(function(result) {}).fail(function(jqXHR, textStatus, errorThrown) {});
    
      $.when(ilf, rlf)
        .done(function(r1, r2) {
          // do whatever
        });
    }
    
    $("#buttonid").click(ilf_rlf);

    【讨论】:

    • 谢谢。学到了一些新东西。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 2018-04-19
    • 1970-01-01
    • 1970-01-01
    • 2017-10-18
    • 2015-10-23
    相关资源
    最近更新 更多