मेरे पास दो 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
});

अगर मैं $.कब को याद करने में सक्षम होना चाहता हूं, तो मैं इस सेटअप को कैसे संशोधित करूं? कहें, एक बटन के जवाब में क्लिक करें।

0
NoBullMan 10 नवम्बर 2020, 01:07

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);
2
Barmar 9 नवम्बर 2020, 22:17