2012-01-13 74 views
0

您好我已经动态添加功能,如添加客户到客户名单出现在鼠标悬停事件。它添加了新的列表项,一旦用户点击它,就会出现一个文本框,并且一旦用户输入有效的内容,它将新输入的项目添加到列表中并保存,并用勾号显示新添加的内容。并且当用户点击已经打勾的项目时,它从列表中删除。JQuery请求重叠在谷歌appengine

当我在本地实现此功能时,我们可以从一次尝试中将客户添加到多个列表中。但是当我上传应用程序并尝试它时,它会节省一个新的客户群,但是当我试图从一次性添加更多时,它只添加了最后一个。之前添加的客户密钥随请求发送。如果客户的密钥已经可用,则从已经添加的组中删除客户。这更像Facebook的朋友列表,你可以在朋友页面找到我们可以添加朋友到不同的列表。

有没有一种方法来同步jquery ajax请求。任何人都可以帮忙吗?

$('.newcustomerlist').live("keypress",function (event) { 
    var element_id = $('.custitem').attr('id'); 
    var customer_key = null; 
    var url_key = null; 
    if (element_id != null) { 
     customer_key = element_id.split('#')[0] 
     url_key = element_id.split('#')[1] 
    } else { 
     url_key = $(this).attr("id"); 
    } 

    if(event.which == '13') { 
     var cust_list_name = $(this).val().trim(); 
     var val = (/^[a-zA-Z ]*[-a-zA-Z0-9_ ]+$/).test(cust_list_name); 
     if(val){ 
      $.ajax({ 
       type : "GET", 
       url : "/addcustomerfromhere/", 
       data : "cust_list_name=" + cust_list_name, 
       success : function (msg) { 
        new_customer_key = msg.customer_key ; 
        $.ajax({ 
         type : "GET", 
         url : "/addcustomertolist/", 
         data : "url_key=" + url_key + "&customer_key =" + new_customer_key , 
         success : function (data) { 
          $("ul.custlist").prepend("<li id="+ new_customer_key + "#"+ url_key + " class='custitem addedtocust'><span>" + msg.cust_list_name + "</span></li>"); 
          $(".title").show(); 
         }, 
         error : function (XMLHttpRequest, textStatus, errorThrown) { 
          $.notify({message: 'Apologies. Our servers are busy at this moment. Please try again later.', type: 'error'}); 
         } 
        }); 
       }, 
       error : function (XMLHttpRequest, textStatus, errorThrown) { 
        $.notify({message: 'Apologies. Our servers are busy at this moment. Please try again later.', type: 'error'}); 
       } 
      }); 
     $(".addnew").show() 
     $(".newtext").hide() 
     } else { 

     } 
    } 
}); 

回答

1

你可以添加这对阿贾克斯的选项:

async:false 
+0

它没有工作对我来说 – Kalanamith 2012-01-13 05:54:59

+0

你能提供各种各样的的jsfiddle或我的地方的一个例子,以更好地了解真正的问题是。 – XepterX 2012-01-13 05:59:59