如何停止/暂停Ajax的异步调用

时间:2018-12-03 02:05:15

标签: javascript c# jquery ajax asp.net-mvc

从昨天开始,我一直坚持下去,现在我需要帮助。我不知道如何正确地“质疑”这个问题,但是我认为这与ajax的关注是异步的有关。

当我在ajax回发内调用ajax函数时,无法从我的视图完成ajax调用。

$.ajax({
  url: '@Url.Action("GetValidateAssignAccountName", "AccountsAssignment")?companyID=' + companyid,
  type: request_method,
  data: form_data
}).done(function (data) {
  if (data == '') {
    PromptAssign(data, post_url, request_method, form_data);
  }
  else {
    Assign(post_url, request_method, form_data);
  }
});

Assign功能不起作用/不完整。我不知道如何调用它,但它会通过控制器并调用存储过程,并返回成功的消息,但由于某种原因,该过程无法正常工作/保存。

我的问题是,当我致电PromptAssign时-在这种情况下,我致电messageDialog然后在内部致电Assign,就在Assign就可以了。这是PromptAssign函数:

$("#messagedialog").dialog({
  open: function () {
    $(".ui-widget-overlay").css({ background: "#000000", opacity: 0.5 });
    $(".ui-dialog-title").css("color", "#228B22");
    //$(".message-img").attr("src", "../Content/images/success.png");
    $(".message-wrapper").html(msg);
  },
  modal: true, height: 250, width: 500,
  buttons: {
    //'Ok': function () { $(this).dialog('close'); },
    'Assign': function () {
      Assign(post_url, request_method, form_data);
      $(this).dialog('close');
    },
    'Close': function () { $(this).dialog('close'); }
  },
  create: function () {
    $(this).closest(".ui-dialog")
      .find(".ui-button").eq(2)
      .addClass("btn btn-default");
  },
  title: "Confirmation",
  dialogClass: "noclose"
});

最初,代码只是分配函数,该函数调用sp保存数据。但是我们添加了PromptAssign(第一个代码块,然后调用msgbox / PromptAssign,然后分配),这是一个验证(如果存在或不存在),则用户在出现以下情况后仍可以Assign他仍然选择。

因此,当验证未返回任何内容时,我不需要PromptAssign,因此我直接致电Assign。这是行不通的。在使用ajax方面我缺少什么?

1 个答案:

答案 0 :(得分:0)

只需回答评论,就有一个类似这样的较早的问题,它发生在ajax中,然后出现在执行存储过程的控制器中,但是由于某些原因,数据没有更新。我们通过在单独的函数中进行这些ajax调用来解决此问题。

对于这个,我试图将同样的事情无济于事,我知道我使用ajax的方式没有错,事实证明,这是一个数据问题。由于数据库验证,我在其中测试的特定记录无法正常工作。不过,仍然感谢您的关注。