Ajax请求多次提交输入

时间:2018-07-04 09:40:44

标签: javascript jquery ajax

我有一些表行,当按一行时,这些表行通过ajax get请求创建带有输入字段的边栏。侧边栏将有另一个ajax发布请求,该请求将在侧边栏中提交输入字段。

我遇到的问题是,如果用户在不同的表行上按一下,然后提交输入字段,它将为所有已按下的表行运行ajax调用,但只应为该行提交它目前“站立”着。

Ajax调用以创建带有输入字段的边栏:

var ajaxRequest = null;

$('.detailedTable tbody').on('click', '.tablerow', function() {
  var somedata = $(this).attr('data-somedata');

  ajaxRequest = $.ajax({
    url:"/ajax/showAccountSidebar",
    method:"GET",
    data: {
      somedata: somedata,
    },
    beforeSend:function() {
        if(ajaxRequest != null) {
            ajaxRequest.abort();
        }
     },
    success:function(data) {
      $('#sidemenu').html(data);
    }
  });
});

Ajax调用以在边栏中提交输入字段:

var sidebarRequest = null;

$(document).on('click', '#sidebarMenu', function() {
  var someData = $("#someData").val();

  sidebarRequest = $.ajax({
    url:"/ajax/saveAccountNote",
    method:"POST",
    data: {
      inputData: someData
    },
    beforeSend:function() {
        if(sidebarRequest != null) {
            sidebarRequest.abort();
        }
    }
  });
});

1 个答案:

答案 0 :(得分:1)

我遇到的问题是用来打第二个AJAX呼叫

$(document).on('click', '#sidebarMenu', function() {

将其更改为以下内容,现在仅提交我上次单击的输入字段:

$('#sidebarMenu').on('click', $(this), function() {